티스토리 뷰
문제링크 : https://www.acmicpc.net/problem/14916
14916번: 거스름돈
첫째 줄에 거스름돈 액수 n(1 ≤ n ≤ 100,000)이 주어진다.
www.acmicpc.net
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
const int MAX = 987654321;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
int N;
cin >> N;
if(N==1 || N==3) cout << -1; //불가능
else if(N%5%2 == 0) cout << N/5 + N%5/2; //짝수
else cout << N/5-1+ (N%5+5) / 2; //홀수
return 0;
}
그리디 문제다.
N이 1과 3일때는 계산이 불가하므로 -1을 출력하고
이후에 짝수의 경우와 홀수의 경우를 판별하여 값을 출력한다.
'백준 > 실버' 카테고리의 다른 글
[백준 25328번] 문자열 집합 조합하기 (C++) (0) | 2023.06.21 |
---|---|
[백준 27515번] 1차원 2048과 쿼리 (C++) (0) | 2023.06.19 |
[백준 9507번] Generations of Tribbles (C++) (0) | 2023.06.17 |
[백준 13700] 완전 범죄 (C++) (0) | 2023.06.15 |
[백준 15966] 군계일학 (C++) (0) | 2023.06.14 |