이 문제에서는 봉지의 최소 개수를 찾아야 하는데, 가능한 한 5kg짜리 봉지를 가져가야 한다는 것이다.
입력받은 N이 5로 나눠떨어지면 바로 N을 5로 나눈 몫을 출력하면 된다.
그렇지 않은 경우에는 3kg 봉지를 하나씩 추가하면서, 남은 무게가 5로 나눠떨어지는지 체크했다.
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.IOException;
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 cnt=0; // 봉지의 개수
while(true){
if(N%5==0){ // 5로 나눠떨어진다면
cnt += N/5; // N을 5로 나눈 몫 만큼의 봉지를 추가함
System.out.println(cnt); // 출력하고 반복문 탈출
break;
}
if(N<0){ // 3kg와 5kg의 조합으로 만들 수 없다면
System.out.println(-1);
break;
}
N -=3; // N이 5로 나눠떨어지지 않았으면 3kg 봉지를 추가
cnt++;
}
}
}
'Algorithm > [BOJ] - JAVA' 카테고리의 다른 글
[백준] 1978 : 소수 찾기 JAVA 풀이 (0) | 2022.05.18 |
---|---|
[백준] 2775 : 부녀회장이 될 테야 JAVA 풀이 (0) | 2022.05.17 |
[백준] 10250 : ACM 호텔 JAVA 풀이 (0) | 2022.05.17 |
[백준] 2869 : 달팽이는 올라가고 싶다 JAVA 풀이 (0) | 2022.05.17 |
[백준] 1193 : 분수찾기 JAVA 풀이 (0) | 2022.05.17 |