import java.io.BufferedReader;
import java.io.InputStreamReader;
public class BOJ2839 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int cnt = 0;
while (n > 0) {
if (n % 5 == 0) {
cnt += n / 5;
break;
} else if (n % 3 == 0) {
n -= 3;
cnt++;
} else {
n -= 5;
if (n < 0) {
cnt = -1;
break;
}
cnt++;
}
}
// 더 좋은 코드
// int bag3kg = 0;
// while (n % 5 != 0 && n >= 0) {
// bag3kg++;
// n -= 3;
// }
//
// // n이 5kg로 나눠지거나 음수이거나
// int cnt = (n < 0) ? -1 : bag3kg + n / 5;
System.out.println(cnt);
}
}
그리디 아직 잘 못한다. 솔직히 제대로 풀어내지 못한 문제. 3을 빼주면서 5로 나누어 떨어지기를 기다린다는 생각을 해보자
'온라인 저지 > BOJ' 카테고리의 다른 글
[BOJ/Java] 1182 부분수열의 합 (0) | 2022.02.16 |
---|---|
[BOJ/Java] 11723 집합 (0) | 2022.02.15 |
[BOJ/Java] 1074 Z (0) | 2022.02.15 |
[BOJ/Java] 3040 백설 공주와 일곱 난쟁이 (0) | 2022.02.14 |
[BOJ/Java] 20361 일우는 야바위꾼 (0) | 2022.02.14 |
댓글