1) Buffered를 사용한 풀이
● 자세한 풀이는 주석 참조
import java.io.*;
public class Baek_2839 {
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;
// 킬로그램이 3 이상일 때만 while문 작동
// 조건에서도 3 <= n <= 5000 이라고 명시, 킬로그램을 나누다가 3 밑으로 간다면 맨 밑의
// 조건문으로 이동해서 -1 출력하기 위함
while (n > 2) {
// 킬로그램이 정확하게 5로 나눠떨어지는 경우에는 5kg 봉지만 들고가면 되므로
// 그대로 5로 나눠서 카운트에 추가한다.
if (n % 5 == 0) {
cnt += (n / 5);
break;
// 킬로그램이 5로 나눠떨이지지 않는 경우를 설정
// 5키로그램을 만들어 가져가야 효율적이기 때문에 3킬로를 빼주면서 카운트를 올려주고,
// 다시 위의 if문에서 5킬로로 나눠떨어지는지 검사
} else {
n -= 3;
cnt++;
}
}
if (0 < n && 3 > n) {
System.out.println(-1);
} else {
System.out.println(cnt);
}
}
}
'알고리즘 정리' 카테고리의 다른 글
백준 11728번 배열 합치기 (실버 5) (0) | 2022.04.16 |
---|---|
백준 10757번[수학] 큰 수 A+B (0) | 2021.10.26 |
백준 2775번[수학] 부녀회장이 될테야 (0) | 2021.10.26 |
백준 10250번[수학] ACM 호텔 (0) | 2021.10.26 |
백준 2869번[수학] 달팽이는 올라가고 싶다 (0) | 2021.10.26 |