알고리즘/baekjoon
baekjoon(11047-동전0)_ python
ash silver
2022. 5. 2. 17:48
1) 문제
2) 예시
3) 제출
import sys
input = sys.stdin.readline
n, k = map(int, input().split())
coin = [int(input()) for _ in range(n)]
cnt = 0
while k != 0:
tmp = k // coin[len(coin) - 1]
if tmp > 0:
k -= tmp * coin[len(coin)-1]
cnt += tmp
coin.pop(len(coin)-1)
print(cnt)
4) 메모리/시간/코드길이
5) PLUS
(ash silver의 문제 해결 과정)
1. n, k를 split으로 한 번에 입력받기
2. coin 리스트를 반복문을 이용해 한 줄로 입력받기
3. cnt는 동전 최소 개수
4. k 원이 0이 되기 전까지 반복문 반복
-> 1. tmp에 k 원을 coin의 맨 뒤에 값으로 나누었을 때 몫을 저장
-> 2. 만약 tmp가 0 이상이면 (0 이하이면 k가 coin[]보다 큰 것),
k원에서 tmp(k원을 coin으로 나눈 몫 = 동전 개수)와 coin을 곱한 값을 뺌
cnt에 동전 개수 더해주기
-> 3. coin의 맨 마지막 값을 지워주기
-> 4. 동전의 개수인 cnt 출력