-
[BOJ 11047, Python 3] 동전 0알고리즘/BOJ 2021. 8. 5. 10:30
https://www.acmicpc.net/problem/11047
11047번: 동전 0
첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수)
www.acmicpc.net
풀이
동전의 개수를 최소로 해서 합 K를 만들어야하므로 내림차순으로 정렬해서 몫을 이용해 몇 개의 동전을 사용할 수 있는지 확인하여 그만큼 값을 K에 빼주면 된다.
코드
12345678n, k = map(int, input().split())arr = sorted([int(input()) for i in range(n)], reverse=True)ans = 0for i in range(n):val = k // arr[i]ans += valk -= arr[i] * valprint(ans)cs '알고리즘 > BOJ' 카테고리의 다른 글
[BOJ 1041, Python 3] 주사위 (0) 2021.08.06 [BOJ 15903, Python 3] 카드 합체 놀이 (0) 2021.08.06 [BOJ 2138] 전구와 스위치 (0) 2021.08.05 [BOJ 1931, Python 3] 회의실 배정 (0) 2021.08.05 [BOJ 1541, Python 3] 잃어버린 괄호 (0) 2021.08.04