문제 링크 : https://www.acmicpc.net/problem/11047
그리디 알고리즘문제입니다.
코드
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int N, K;
vector<int> v;
cin >> N >> K;
for(int i = 0; i < N; i++)
{
int a;
cin >> a;
v.push_back(a);
}
int count_coin = 0;
for(int j = 0; j < N; j++)
{
if(v[j] > K)
{
count_coin = count_coin + K / v[j - 1];
K = K % v[j - 1];
j=0;
}
if(j == N-1)
{
count_coin = count_coin + K / v[j];
K = K % v[j];
j=0;
}
if(K==0)
j = N;
}
cout << count_coin << endl;
return 0;
}
'알고리즘 문제' 카테고리의 다른 글
[알고리즘 문제/C++]백준 1700번 : 멀티탭 스케줄링 (0) | 2021.01.10 |
---|---|
[알고리즘 문제/C++]백준 1463번 : 1로 만들기 (0) | 2021.01.10 |
[알고리즘 문제/C++]백준 1449번 : 수리공 항승 (0) | 2021.01.10 |
[알고리즘 문제/C++]백준 1260번 : DFS와 BFS (0) | 2021.01.10 |
[알고리즘 문제/C++]백준 10448번 : 유레카 이론 (0) | 2021.01.10 |