문제가 궁금하시다면 아래의 링크를 눌러주세요!
문제 본문
N, K = map(int, input().split())
money = [int(input()) for i in range(N)]
cnt = 0
for i in range(len(money) - 1, -1, -1): # 큰 동전부터 가야하기 때문! 아예 [::-1]로 리스트를 뒤집어놓고 시작해도 될듯
if K == 0: # K가 0이 된 경우(금액을 맞춘 경우) 탈출한다.
break
if money[i] > K: continue # 동전이 K보다 큰 경우 건너뛴다.(나눌 수 없기 때문)
cnt += K // money[i] # 몫만큼을 동전의 개수에 더해주고
K -= money[i] * (K // money[i]) # 금액을 차감한다. 금액 K가 0이 된다는 것은 처음에 주어진 금액 K를 맞추었다는 것을 의미한다.
print(cnt)
읽어주셔서 감사합니다!