DHistory

[Baekjoon] Greedy - 11047 동전 0 본문

Computer Science/Algorithm

[Baekjoon] Greedy - 11047 동전 0

ddu0422 2023. 8. 16. 10:56

문제

 

11047번: 동전 0

첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수)

www.acmicpc.net

 

풀이

"""
동전의 종류: N
적절히 사용해서 가치의 합을 K로
동전 개수의 최솟값은?
"""
n, k = map(int, input().split())
coins = []
for _ in range(n):
    coins.append(int(input()))


def soltuion(coins, k):
    answer = 0
    coins = sorted(coins, reverse=True)

    for coin in coins:
        if coin > k:
            continue
        
        answer += k // coin
        k %= coin
        

    return answer


print(soltuion(coins, k))

 

채점 결과