https://www.acmicpc.net/problem/2839
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
DP단원에 속해있지만 문제를 보고나서 가장 먼저 떠오른건 탐욕적 알고리즘이었다. 이후 DP로 풀려했지만 시중에도 그렇고 깔끔한 풀이가
존재하지 않았다...
*/
public class Main{
public static int solution(int n){
int a;
if(n==0)
return 0;
if(n<3)
return -1;
if(n>=5) {
a = solution(n - 5);
if(a>=0)
return a+1;
}
if(n>=3){
a=solution(n-3);
if(a>=0)
return a+1;
}
return -1;
}
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int n=Integer.parseInt(br.readLine());
System.out.println(solution(n));
}
}
'알고리즘 > Greedy Algorithm' 카테고리의 다른 글
(풀어야함), 기말 문제 중복 문자 제거하기 (0) | 2023.12.24 |
---|---|
백준(BOJ) 1092: 배 (0) | 2023.12.18 |
백준(BOJ) 27112 시간외 근무 멈춰!!! (0) | 2023.11.09 |
백준(BOJ) 13164번 행복 유치원 (1) | 2023.11.03 |
백준(BOJ) 11000: 강의실 배정 (0) | 2023.11.03 |