728x90
반응형
1. 문제
2. 풀이
3. 코드
#include <iostream>
#include <algorithm>
using namespace std;
int N;
int dp[1001][5];
int ans =0;
int main(){
// input
cin >> N;
// 마지막 자릿수 확인
if(N%10==0 || N%10==5){
ans = N/5;
}
else if(N%10==1 || N%10==6){
ans = 2+(N-3*2)/5;
}
else if(N%10==2 || N%10==7){
ans = 4+(N-3*4)/5;
}
else if(N%10==3 || N%10==8){
ans = 1+(N-3*1)/5;
}
else if(N%10==4 || N%10==9){
ans = 3+(N-3*3)/5;
}
// except
if(N==4 || N==7) ans = -1;
cout << ans;
return 0;
}
4. 리뷰
문제를 푸는 방법은 dp로 접근했지만, 실제 코드 작성에는 그럴 필요가 없이 일의 자리수를 기준으로 분류해주었다.
5. 다른 풀이방법
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 9251 LCS c++ (0) | 2022.07.13 |
---|---|
[백준] 11053 가장 긴 증가하는 부분 수열 c++ (0) | 2022.07.13 |
[백준] 2579 계단 오르기 c++ (0) | 2022.07.13 |
[cpp 알고리즘] 백준 1149 RGB거리 c++ (0) | 2022.07.13 |
[cpp 알고리즘] 백준 1003 피보나치 함수 c++ (0) | 2022.07.13 |