# 동전 갯수 최솟값 : 액수가 큰 동전부터 체워넣기
# 기준에 따라서 가장 좋은 것을 선택하는 그리디 알고리즘
from re import T
import sys
n, k= (map(int,sys.stdin.readline().split()))
coin = []
for i in range(n):
coin.append(int(input()))
coin.sort(reverse=True)
present = 0
cnt = 0
while k>0 :
if k-coin[present] < 0 and present+1 < len(coin) :
present+=1
else :
cnt+=k//coin[present]
k%=coin[present]
print(cnt)
1) 시간초과
=> 왜냐 뺄셈과 덧셈으로 작업을 했기 때문이지
# 동전 갯수 최솟값 : 액수가 큰 동전부터 체워넣기
# 기준에 따라서 가장 좋은 것을 선택하는 그리디 알고리즘
from re import T
import sys
n, k= (map(int,sys.stdin.readline().split()))
coin = []
for i in range(n):
coin.append(int(input()))
coin.sort(reverse=True)
present = 0
cnt = 0
while k>0 :
if k-coin[present] < 0 and present+1 < len(coin) :
present+=1
else :
k-=coin[present]
cnt+=1
print(cnt)
% 는 나머지
// 는 몫