제출코드
#include <iostream>
#include <cassert>
#include <vector>
#include <algorithm>
int main(){
int answer = 0, price;
// 동전 종류
std::vector<int> money;
money.push_back(500);
money.push_back(100);
money.push_back(50);
money.push_back(10);
money.push_back(5);
money.push_back(1);
std::cin >> price;
int change = 1000-price;
for(int i=0; i < money.size(); i++){
if(change < 0) break;
if(money[i] <= change){
answer++;
change -= money[i];
if(money[i] <= change) i--;
}
}
std::cout<<answer;
}
풀이
거스름돈 종류를 큰 순서대로 벡터에 입력하고 11047번 동전 0 문제처럼 푼다.
후기
마지막 for문의 마지막 if에서 i++를 i--로 고치지 않아 두 번의 시도만에 풀었다.
'Algorithm 문제풀기 > Baekjoon' 카테고리의 다른 글
[C++] 13417번 카드 문자열 (0) | 2021.02.16 |
---|---|
[C++] 11497번 통나무 건너뛰기 (0) | 2021.02.14 |
[C++] 1439번 뒤집기 (0) | 2021.02.14 |
[C++] 11047번 동전 0 (0) | 2021.02.12 |
[C++] 1032번 명령 프롬프트 (0) | 2021.02.01 |