728x90
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int answer = 0;
int temp = 0;
int a = 0;
int b = 0;
/* 참고용
System.out.println(500%5); // 0 <- 나머지
System.out.println(500/5); // 100 <- 몫
*/
// n = 5a + 3b
// answer min(a+b) or -1
/* 해결방법 */
/* 최소한으로 가져갈려면 일단 제일 큰수인 5로 나눠봐야한다. */
/* 5보다 작은 4는 예외처리 */
/* n = 5a + 3b */
/* temp를 3으로 나누어 떨어지지 않으면 표현불가기에 5의 개수(a)를 줄여가면서 체크한다 */
/* a의 값이 0보다 작아질 수 없어서 break */
/* 마지막까지 3으로 나누어떨어지지 않으면 표현할 수 없는 숫자이기에 -1처리 */
if(n == 4)
answer = -1;
else
{
a = n / 5;
temp = n % 5;
while ((temp % 3) != 0) {
a -= 1;
temp += 5;
if(a == 0)
break;
}
b = temp / 3;
if((temp % 3) != 0)
answer = -1;
else
answer = a + b;
}
//System.out.println(n + "= 5 * " + a + " + 3 * " + b);
System.out.println(answer);
br.close();
}
}
728x90
'코딩 테스트' 카테고리의 다른 글
1904번 01타일(자바, java) - 백준 문제풀이 (0) | 2023.01.09 |
---|---|
5585번 거스름돈(자바, java) - 그리디 (0) | 2023.01.09 |
11399번 ATM(자바, java) - 그리디 (0) | 2023.01.09 |
2667번 단지번호붙이기(자바, java) - DFS (0) | 2023.01.09 |
2606번 바이러스(자바, java) - DFS (0) | 2023.01.09 |