![[백준 C++] 11047 : 동전 0](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbj7Rwk%2FbtsDJBB7PHW%2FFr4phqekYZWOFXOtnkVNk1%2Fimg.png)
[백준 C++] 11047 : 동전 0CSE/코딩 문제풀이2024. 1. 22. 19:32
Table of Contents
https://www.acmicpc.net/problem/11047
그리디 알고리즘을 사용한 실버4 문제이다.
동전의 가치를 오름차순으로 입력한 뒤, 가장 최소한의 동전을 사용하여 K의 합을 만들면 문제이다.
처음에 어떻게 해야할지 막막할 수 있지만, 생각해보면 간단한 문제이다.
K값보다 작거나 같은 가치의 동전을 먼저 사용하고, 나머지는 먼저 사용한 동전보다 낮은 가치의 동전을 사용해서 다시 메꿔주는 작업을 반복하면 된다.
#include <iostream>
int main()
{
int N, K;
int array[10];
int answer = 0;
std::cin >> N >> K;
for (int i = 0; i < N; i++)
{
std::cin >> array[i];
}
for (int i = N - 1; i >= 0; i--)
{
if (array[i] <= K)
{
while (1)
{
K -= array[i];
answer++;
if (array[i] > K)
break;
}
}
else if (K == 0)
break;
}
std::cout << answer;
return 0;
}
'CSE > 코딩 문제풀이' 카테고리의 다른 글
[프로그래머스 C++] 가장 큰 수 (0) | 2024.05.29 |
---|---|
[프로그래머스 C++] K번째 수 (0) | 2024.05.29 |
[백준 C++] 10815 : 숫자 카드 (1) | 2024.03.12 |
[백준 C++] 1253 : 좋다 (1) | 2024.02.29 |
[백준 C++] 14501 : 퇴사 (0) | 2024.02.06 |
@NiffJB :: 개발하는 니프
CSE & GAME 개발 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 부탁드립니다!