본문 바로가기
Algorithm 문제풀기/Baekjoon

[C++] 5585번 거스름돈

by 내일이야 2021. 2. 12.

5585번 문제보기

 

제출코드

#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