https://www.acmicpc.net/problem/5585
[5585번: 거스름돈
타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사
www.acmicpc.net](https://www.acmicpc.net/problem/5585)
다시 알고리즘 공부를 시작해야될 것 같다. C++로 계속 진행할지 Python으로 언어를 교체할지 고민을 많이 했지만 골4 찍어놓은게 조금 아까워서 일단은 C++로 진행하기로 했다. 많이 까먹었지만 금방 다시 기억나지 않을까..?
#include <bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
int coin[6]={500,100,50,10,5,1};
int n, index=0, ans=0;
cin>>n;
int change=1000-n;
while(change>0){
if(change>=coin[index]){
change-=coin[index];
ans++;
}
else{
if(index==5) break;
index++;
}
}
cout<<ans<<"\n";
return 0;
}
오랜만에 짜는거라 깔끔하게 짜진 못한 것 같다. 굉장히 쉬운 문제임에도 코드가 이쁘진 않아보인다. 거스름돈 동전을 배열로 사용해서 풀었다.
'ALG > ALG Solve' 카테고리의 다른 글
[C++] 백준 10610번 - 30 (0) | 2023.07.14 |
---|---|
[C++] 백준 1789번 - 수들의 합 (0) | 2023.07.14 |
C++) 백준 4375번 - 1 (0) | 2023.03.01 |
C++) 백준 18870번 - 좌표 압축 (0) | 2023.02.21 |
C++) 백준 2170번 - 선 긋기 (0) | 2023.02.14 |