백준 11047번 문제 파이썬 해설(그리디 알고리즘)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | n, k = map(int, input().split()) coins = [] for _ in range(n): coins.append(int(input())) # coins = list(map(int, input().split('\n'))) # 코인 내림차순 정렬 coins.sort(reverse = True) # print("coins:", coins) count = 0 for coin in coins: # 코인이 k보다 작으면 더한다. if coin <= k: count += k // coin k %= coin # print("count:", count, "k:", k) else: continue if k == 0: break print(count) |
정답은 맞췄다.
짚고넘어갈 점은 엔터로 값을 쭉 입력할 때 받는 방법이다.
처음에는 모르고 6번줄 처럼 받을라고했는데 안된다;;
4,5번 줄처럼 간단하게 받을 수 있다!