티스토리 뷰

https://www.hanbit.co.kr/store/books/look.php?p_code=B8945183661

 

이것이 취업을 위한 코딩 테스트다 with 파이썬

IT 취준생이라면 누구나 가고 싶어 하는 카카오, 라인, 삼성전자의 2016년부터 2020년까지의 코딩 테스트와 알고리즘 대회의 기출문제를 엄선하여 수록하였다.

www.hanbit.co.kr

 

[226p 효율적인 화폐 구성]

 

import sys

INF = 10001

n, m = map(int, sys.stdin.readline().rstrip().split())
coins = []

for _ in range(n):
    coins.append(int(sys.stdin.readline().rstrip()))

d = [INF] * (m + 1)
# 각 코인으로 만들 수 있는 경우를 1로 만들기 위해 d[0] = 0으로 설정
d[0] = 0

for i in range(1, m + 1):
    for k in coins:
        # 현재 만들 수 있는 금액이 코인보다 커야한다.
        if i >= k:
            # 각 코인으로 만들 수 있는 경우 중 최솟값
            d[i] = min(d[i], d[i - k] + 1)

# INF가 아니면 만들 수 있다는 의미미으로 해당 값 출력
# INF이면 만들 수 없다는 의미이므로 -1을 출력
print(d[m] if d[m] != INF else -1)

' > 이것이 코딩테스트다' 카테고리의 다른 글

Chapter 09 최단 경로 - 전보  (0) 2020.09.28
Chapter 09 최단 경로 - 미래 도시  (0) 2020.09.28
Chapter 08 DP - 바닥 공사  (0) 2020.09.27
Chapter 08 DP - 개미 전사  (0) 2020.09.27
Chapter 08 DP - 1로 만들기  (0) 2020.09.27
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
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
글 보관함