Python

Python/Coding Test

[백준] 2812 : 크게 만들기

https://www.acmicpc.net/problem/2812 2812번: 크게 만들기 N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 코드 N, K = map(int, input().split()) num = list(map(int, list(input()))) stack = [] for i in num: while stack and stack[-1] 0: stack.pop() K -= 1 stack.append(i) if K == 0: print(''.join(map(str, stack))) else: print(''.join(map(str, stack[:-K]))) 풀이 해당 문제..

Python/Coding Test

[백준] 17298 : 오큰수

https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 코드 from collections import deque N = int(input()) lst = list(map(int, input().split())) dq = deque([]) NGE = [-1] * N for i in range(N): while dq and lst[dq[-1][0]] < lst[i]: tmp_i, tmp_num = dq.pop() NGE[tmp_i] = lst[i] dq.appen..

Python/Coding Test

[백준] 1268 : 임시 반장 정하기

https://www.acmicpc.net/problem/1268 1268번: 임시 반장 정하기 오민식 선생님은 올해 형택초등학교 6학년 1반 담임을 맡게 되었다. 오민식 선생님은 우선 임시로 반장을 정하고 학생들이 서로 친숙해진 후에 정식으로 선거를 통해 반장을 선출하려고 한다. www.acmicpc.net 코드 N = int(input()) num = [list(map(int, input().split())) for _ in range(N)] s = 0 res = 1 for i in range(N): cnt = [0] * N for j in range(5): for k in range(N): if i != k and num[i][j] == num[k][j] and cnt[k] == 0: cnt[k] ..

Python/Coding Test

[백준] 1439 : 뒤집기

https://www.acmicpc.net/problem/1439 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net 코드1, 풀이1 # 풀이1, 나의 풀이) 문자열 split() 활용 S = input() lst_0 = S.split('1') # 연속된 0을 남긴 리스트 lst_1 = S.split('0') # 연속된 1을 남긴 리스트 cnt_0 = 0 # 0을 뒤집는 횟수 cnt_1 = 0 # 1을 뒤집는 횟수 for i in lst_0: if '0' in i: cnt_0 += 1 for j in lst_1:..

Python/Coding Test

[프로그래머스] 키패드 누르기

https://school.programmers.co.kr/learn/courses/30/lessons/67256 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 # 키패드 두 좌표 사이의 거리 함수 def len2(a, b): return abs(a[0]-b[0]) + abs(a[1]-b[1]) def solution(numbers, hand): answer = '' left = [3, 0] # 왼쪽 손의 인덱스 right = [3, 2] # 오른쪽 손의 인덱스 for num in numbers: # 1. 무조건 왼쪽 엄지로 누르는 경우 if num..

Python/Coding Test

[프로그래머스] 신규 아이디 추천

https://school.programmers.co.kr/learn/courses/30/lessons/72410 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(new_id): answer = new_id # 1단계 : 대문자 -> 소문자 치환 answer = answer.lower() # 2단계 : 문자 제거 remove_list = list('~!@#$%^&*()=+[{]}:?,/') for j in remove_list: answer = answer.replace(j, '') # 3단계 : . 치환 while '..' i..

semperparatus
'Python' 카테고리의 글 목록