백준 11047 파이썬 n, k = map(int, input().split()) coins = []; coin_count = 0 for _ in range(n): coins.append(int(input())) coins.reverse() for i, coin in enumerate(coins,1): if k == 0: break if k // coin >= 1: coin_count += k // coin k -= coin * (k//coin) print(coin_count) 동전개수의 최솟값을 구해야 하는데 문제 조건에 A(i)는 A(i-1)의 배수라고 적혀있다. 따라서 큰단위의 동전을 가능한 많이 사용하면 된다. ( 배수가 아닐경우 무작정 큰단위의 동전을 사용하면 안된다. ) 2021. 3. 25. 이전 1 다음