목록분류 전체보기 (234)
honey_pot
보호되어 있는 글입니다.
https://programmers.co.kr/learn/courses/30/lessons/60057 def solution(s): answer = 5000000 for slicing in range(1, len(s)//2+2): res = '' # 결과를 담을 변수 cnt = 1 # 단위가 반복된 횟수 temp = s[:slicing] # 단위만큼 슬라이싱한 문자열을 담는다. for i in range(slicing, len(s)+slicing, slicing): # slicing부터 시작해서 slicing 만큼 더해서 len(s)+slicing(s 전체 길이)만큼 if temp == s[i:i+slicing]: cnt += 1 else: if cnt == 1: res += temp else: res ..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
https://programmers.co.kr/learn/courses/30/lessons/42842 def solution(brown, yellow): # garo >= sero answer = [] # [garo, sero] whole = brown+yellow sero = 0 for garo in range(1,brown+1): if whole % garo == 0: # whole이 garo로 나뉘면 sero = whole // garo # sero는 whole // garo 가 됨 if garo >= sero and (garo-2)*(sero-2) == yellow: # garo >= sero, yellow가 직사각형이면 answer.append(garo) # answer에 담고 정지 answer..
https://programmers.co.kr/learn/courses/30/lessons/42583 def solution(bridge_length, weight, truck_weights): queue = [0] * bridge_length # 빈 다리 time = 0 # 시간 while queue: # queue가 빌 때(false)가 될때까지 time += 1 # 시간 +1 queue.pop(0) # 맨 앞 빼서 트럭 들어갈 자리 만듦 if truck_weights: # 남은 트럭이 없을 때까지 if sum(queue) + truck_weights[0] 넘지 않음 queue.append(truck_weights.pop(0)) # 맨 뒤에 해당 트럭 붙임 else: # 넘음 queue.append(..
https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr def solution(priorities, location): queue = [(i,p) for i,p in enumerate(priorities)] # 인덱스, 우선순위를 큐에 담음 answer = 0 while True : cur = queue.pop(0) # 맨 앞 뽑아 if any(cur[1] < q[1] for q in queue): # 가장 큰 우선순위..