그리 어렵지 않게 해결할 수 있는
그리디 알고리즘이였다.
# 입력 속도 개선
import sys
input = sys.stdin.readline
# n, k 입력
n, k = map(int, input().split())
# coin_list 설계
coin_list = []
# coin_list 채우기
for _ in range(n):
coin_list.append(int(input()))
# def find_max(k)
def find_max(k):
# 최댓값 초기설정
M = 0
# 코인리스트를 돌며
for coin in coin_list:
# 코인이 현재 k값보다 작거나 같으면
if coin <= k:
# 최댓값을 코인값으로 바꿔줌
M = coin
# return
return M
# cnt 설정
cnt = 0
# k가 0이 되기 전까지
while k != 0:
# k 값 갱신
k = k - find_max(k)
# cnt 값 갱신
cnt += 1
# 출력
print(cnt)
'Algorithm(BOJ, Python) > Greedy' 카테고리의 다른 글
[백준_1931] 회의실배정 python (0) | 2022.06.30 |
---|