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 |