백준 :: 동전 0 <11047번>

혜 콩·2022년 5월 22일
0

알고리즘

목록 보기
16/61

> 문제 <

출처: https://www.acmicpc.net/problem/11047

> 알고리즘 <

  1. k보다 작은 동전들만 coins 리스트에 넣어준다.
  2. coins[]를 내림차순으로 정렬해준다.
  3. k가 0이 될 때까지 while문
    ---> 큰 동전 순서대로 k를 coins[i]로 나눈 몫은 동전의 갯수 (p)
    ---> k를 coins[i]로 나눈 나머지는 현재 동전을 쓰고 난 다음 남은 나머지 값

> 코드 <

my code(success)

n, k = map(int, input().split())
coins = []
p = 0                   # 필요 동전 개수

for _ in range(n):
    a = int(input())
    if a <= k:
        coins.append(a)        # k보다 작은 동전만 coins 리스트에 삽입

coins.sort(reverse=True)

i = 0

while k > 0:
    p += k // coins[i]
    k = k % coins[i]
    i += 1

print(p)
profile
배우고 싶은게 많은 개발자📚

0개의 댓글