
처음에는 각 동전이 주어지는 것으로 착각을 해서 오래걸렸다.
문제 내용은 각 동전이 주어지는 게 아닌 각 동전이 가지는 가치가 주어지는 것이다.
따라서 세상에 100원 짜리, 500원 짜리, 1000원 짜리의 3가지 동전이 있다면 몇 개의 동전이 필요한가 700원을 만드는데 몇 개의 동전이 필요한가? 라는 문제이다.
내용을 제대로 알고 나니 다음과 같이 풀 수 있었다.
- 입력받기
- 동전의 가치를 내림차순으로 정렬하기
- answer 변수를 생성 후, A를 for 문을 이용해서 가치에 따른 동전의 갯수 파악하기
- answer 출력
import sys
N, K = map(int, sys.stdin.readline().split())
# 각 동전이 아니라, 동전의 가치를 입력받는 A
A = []
for _ in range(N):
a_tmp = int(sys.stdin.readline())
A.append(a_tmp)
A.sort(reverse = True)
answer = 0
for i in range(N):
# K값이 0이면 동전이 필요없음
if K == 0:
break
answer += K // A[i]
K = K % A[i]
print(answer)