본문 바로가기

백준11

5585 거스름돈, 1439 뒤집기, 2012 등수 매기기 5585 거스름돈, 1439 뒤집기, 2012 등수 매기기 5585 거스름돈 # 첫번째 풀이 money_list = [500, 100, 50, 10, 5, 1] money = int(input()) money = 1000 - money count = 0 for i in money_list: if money < i: continue else: count += money // i money = money % i print(count) # 두번째 풀이(더 간단하게) money = 1000 - int(input()) count = 0 for i in [500, 100, 50, 10, 5, 1]: count += money // i money %= i print(count) 1439 뒤집기 s = input() .. 2020. 10. 12.
1904 01타일, 12865 평범한 배낭, 11053 가장 긴 증가하는 부분 수열 1904 01타일, 12865 평범한 배낭, 11053 가장 긴 증가하는 부분 수열 1904 01타일 # 첫번째 풀이(시간 초과) n = int(input()) a = 1 b = 2 temp = 0 for _ in range(2, n): temp = a + b a = b b = temp if n == 1: print(1) else: print(b % 15746) # 두번째 풀이 n = int(input()) array = [0] * 1000001 array[1] = 1 array[2] = 2 for i in range(3, n+1): array[i] = (array[i-1] + array[i-2]) % 15746 print(array[n]) - 왜 배열을 쓸 떼 없이 많이 만든 게 시간 초과가 안 뜰까 .. 2020. 9. 29.
1927 최소 힙, 1715 카드 정렬하기, 1766 문제집 1927 최소 힙, 1715 카드 정렬하기, 1766 문제집 1927 최소 힙 # 첫번째 풀이(힙 이용하지 않음. 시간초과) n = int(input()) array = [] zero = 0 count = 0 for _ in range(n): num = int(input()) if num == 0: if count == 0: print(0) else: array = sorted(array, reverse=True) print(array[-1]) array = array[:-1] count -= 1 else: array.append(num) count += 1 # 두번째 풀이(힙 이용) import heapq n = int(input()) heap = [] result = [] for _ in range(.. 2020. 9. 25.
2110 공유기, 1939 중량제한, 1991 트리 순회 2110 공유기, 1939 중량제한, 1991 트리 순회 2110 공유기 n, c = map(int, input().split(' ')) array = [] for _ in range(n): array.append(int(input())) array = sorted(array) minval = array[1] - array[0] # 제일 짧은 거리 maxval = array[-1] - array[0] # 제일 긴 거리 result = 0 while minval = value + gap: value = array[i] count += 1 if count >= c: minval = gap + 1 result = gap else: maxval = gap - 1 print(result) - bfs 개념 필요함 .. 2020. 9. 25.