// 못푼 문제 -> 정리해서 내일 다시 풀어보기!
다른 블로그의 풀이를 보니 greedy algorithm 을 사용하여 풀었다.
1. 큰 수(5)를 n번 만큼 이용하여 봉투에 채우는 방법이 봉투를 가장 적게 쓰는 방법니다.
2. 큰 수(5)로 채워지지 않으면 3만큼을 봉투에 담는다.
3. 그리고 난 후 다시 5로 나누어 나머지가 0 인지 확인한다.
이를 반복하여 최적의 해를 찾는다.
#include <iostream>
using namespace std;
int main(){
int n, ans = 0;
cin >> n;
while(n>=0){
if(n % 5 == 0){
ans += (n/5);
cout << ans;
return 0;
}
else{
n -= 3;
ans++;
}
}
cout << -1;
}