3*4 까지 예외처리를 해줘야한다.
3or4일경우 = 4는 정확하게 못만들기 때문에 -1 / 3은 3kg 설탕 1개
그래서 5 미만인 경우에는 5를 계산하지 않게 하였고
6or9or12일경우 = 5를 계산하지 말아야 -1이 출력 안됌 (3kg 설탕만을 가져가야함)
2개 3개 4개
import java.io.*;
public class Main {
static int sugar;
static int five_count;
static int three_count;
static int five_div() {
if (sugar < 5) return sugar;
if (((sugar % 5) + 5) % 3 == 0) {
five_count = (sugar / 5) - 1;
return sugar % 5 + 5;
} else if(sugar>=12 &&((sugar % 5) + 10) % 3 == 0) {
five_count = (sugar / 5) - 2;
return sugar % 5 + 10;
}else{
five_count = sugar / 5;
return sugar % 5;
}
}
static void three_count(int mod) {
if (mod % 3 == 0) {
three_count = mod / 3;
} else {
three_count = -1;
}
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
sugar = Integer.parseInt(br.readLine());
int mod = five_div();
three_count(mod);
if (three_count != -1) {
bw.write(three_count + five_count + "");
} else {
bw.write(three_count + "");
}
bw.flush();
}
}
'CodingTest' 카테고리의 다른 글
[Coding Test] 백준 2609번 (0) | 2024.04.22 |
---|---|
[Coding Test] 백준 2231번 (0) | 2024.04.21 |
[Coding Test] 백준 2164번 (0) | 2024.04.19 |
[Coding Test] 백준 1966번 (0) | 2024.04.19 |
[Coding Test] 백준 1929번 (1) | 2024.04.19 |