자료구조와 알고리즘/Baekjoon

[백준][그리디 알고리즘][파이썬] 11047.동전 0

최문경 블로그 2019. 8. 1. 19:02

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

 

11047번: 동전 0

첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수)

www.acmicpc.net

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
N, K = map(int, input().split())
 
###############################################
# value_list = []
# for i in range(N):
#     value = int(input())
#     value_list.append(value)
 
value_list = [int(input()) for _ in range(N)]
###############################################
 
result = 0
 
###############################################
# for i in range(N-1, -1, -1):
#     if K // value_list[i] != 0:
#         result += K // value_list[i]
#         K = K % value_list[i]
 
for i in range(1, N+1):
    if (K // value_list[-i] != 0):
        result += K // value_list[-i]
        K %= value_list[-i]
 
# while(K > 0):
#     if K // value_list[N-1] != 0:
#         result += K // value_list[N-1]
#         K %= value_list[N-1]
#     N -= 1
###############################################
 
print(result)
cs

주석 처리 되어있는 부분은 내가 쓴 코드

안되어있는 부분은 구글링으로 알아낸 내가 생각하지 못했던 코드

주석 박스 안에 주석 처리한 코드블럭들과 그렇지 않은 코드블럭은 모두 같은 논리의 코드들이다.

 

참고 - https://roseline124.github.io/algorithm/2019/04/18/Algorithm-baekjoon-11047.html