hi jaeneee
baekjoon(11047-동전0)_ python 본문
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 출력
'알고리즘 > baekjoon' 카테고리의 다른 글
baekjoon(1094-막대기)_ python (0) | 2022.05.15 |
---|---|
baekjoon(1026-보물)_ python (0) | 2022.05.14 |
baekjoon(13305-주유소)_ python (0) | 2022.05.02 |
baekjoon(1316-그룹 단어 체커)_ python (0) | 2022.04.13 |
baekjoon(10870-피보나치 수 5)_ python (0) | 2022.04.13 |
Comments