import math
import sys

n_input = sys.stdin.readline
def min(N, K, coins):
    count = 0
    # 동전을 거꾸로 순회하여 큰 동전부터 사용하도록 합니다.(조건, 동전은 오른차순으로 되어있습니다.)
    for coin in coins[::-1]:        
        x, y = divmod(K, coin) #divmod 함수는 (피제수,제수)->(몫,나머지)로 반환합니다.
        # 현재 가치 K를 현재 동전으로 나눈 몫(x)과 나머지(y)를 구합니다.
        count += x
        # 몫을 동전 개수에 더 합니다.
        K = y
        # 현재 가치 K를 나머지 값으로 업데이트 합니다.
    return count

N, K = map(int, n_input().split())
# 입력으로 동전 종류의 개수 N과 목표 가치 K를 받음
coins = [int(n_input()) for _ in range(N)]
# N개의 줄에 동전의 가치 Ai를 입력받아 coins 리스트에 저장
print(min(N, K, coins))
# min_coins_combination 함수를 호출하여 동전 개수의 최솟값을 계산하고 출력

'코딩 연습 > 백준 코드' 카테고리의 다른 글

멘토와 멘티-26265.py  (0) 2023.10.15
막대기-1094.py  (0) 2023.10.15
덩치-7568.py  (0) 2023.10.15
단어 정렬-1181.py  (0) 2023.10.15
단어공부-1157.py  (0) 2023.10.15

+ Recent posts