백준(Baekjoon Online Judge) - 11047번(동전 0) 문제 풀이
Series: 알고리즘 문제풀이
알고리즘 문제풀이contains 12
- 1.Kakao, 2021 카카오 블라인드 코딩 테스트, 신규 아이디 추천
- 2.백준(Baekjoon Online Judge) - 2839번(설탕 배달) 문제 풀이
- 3.백준(Baekjoon Online Judge) - 11399번(ATM) 문제 풀이
- 4.백준(Baekjoon Online Judge) - 11047번(동전 0) 문제 풀이
- 5.백준(Baekjoon Online Judge) - 1931번(회의실 배정) 문제 풀이
- 6.백준(Baekjoon Online Judge) - 5585번(거스름돈) 문제 풀이
- 7.백준(Baekjoon Online Judge) - 1541번(잃어버린 괄호) 문제 풀이
- 8.백준(Baekjoon Online Judge) - 2217번(로프) 문제 풀이
- 9.백준(Baekjoon Online Judge) - 1946번(신입 사원) 문제 풀이
- 10.백준(Baekjoon Online Judge) - 10162번(전자레인지) 문제 풀이
- 11.백준(Baekjoon Online Judge) - 1339번(단어 수학) 문제 풀이
- 12.백준(Baekjoon Online Judge) - 4796번(캠핑) 문제 풀이
- 더보기
1. 문제
2. 입출력 예시
| 입력 예시 | 출력 예시 |
|---|---|
| 10 4200 1 5 10 50 100 500 1000 5000 10000 50000 | 6 |
| 10 4790 1 5 10 50 100 500 1000 5000 10000 50000 | 12 |
3. 문제 풀이
이를 해결하기 위한 순서는 다음과 같다.
- 동전 종류의 수량(
N)과 가치의 합(K)를 입력받는다. - 동전의 가치가 담긴 정보(
A)를 입력받는다. - 동전의 가치는 오름차순으로 주어지므로, 이를 내림차순으로 정렬한다.
- 반복문을 통해 동전의 가치가 담긴 리스트를 반복하며, 가치의 합에 동전 가치를 나눈 몫을 동전 수량에 더해준다. 그리고 가치의 합은 가치의 합에 동전 가치를 나눈 나머지로 적용한다.
- 가치의 합을 맞추기 위한 동전의 수량을 출력한다.
이를 코드로 나타내면 아래와 같다.
def solution(k, a):
a.sort(reverse=True)
cnt = 0
for i in a:
cnt += k // i
k %= i
print(cnt)
N, K = [int(x) for x in input().split(" ")]
A = [int(input()) for x in range(N)]
solution(K, A)위 코드의 메모리는 28,776 KB, 시간은 84 ms가 소요되었다.