☕Language: Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws IOException {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int kg = Integer.parseInt(br.readLine());
int i = 0;
int j = 0;
boolean b = false;
Loop: for (i = 0; i <= kg / 3; i++) {
for (j = 0; j <= kg / 5; j++) {
if (3 * i + 5 * j == kg) {
b = true;
break Loop;
}
}
}
if (b) {
bw.write((i + j) + "");
} else {
bw.write("-1");
}
bw.flush();
bw.close();
}
}
|
🤔 해설
1. 일차방정식
- i와 j의 범위를 줄이기 위해 입력값/3, 입력값/5로 조정
- boolean 타입의 변수를 활용하여, 해가 있을 경우와 없을 경우 구분
😮 이 외의 풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws IOException {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int kg = Integer.parseInt(br.readLine());
int cnt = 0;
while (true) {
if (kg % 5 == 0) {
bw.write(((kg / 5) + cnt) + "");
break;
} else if (kg < 0) {
bw.write("-1");
break;
}
kg -= 3;
cnt++;
}
bw.flush();
bw.close();
}
}
|
1. if 조건문
- 최대한 5kg을 활용하기 위해 while 반복문 안에서 if 조건문을 첫번째로 검사
- 3kg을 이용할 때마다, cnt를 추가하여 총 봉지 개수 변경
2. else if 조건문
- 3kg에 담고도 남을 경우, 즉 정확한 kg를 맞출 수 없는 경우 -1 출력
3. cnt
- 5kg 봉지 개수는 나눗셈의 몫을, 3kg 봉지 개수는 cnt을 활용
🔗 소스 코드
HJ0216/TIL/BOJ
📚 참고 자료
'Computer > Algorithm_Java' 카테고리의 다른 글
[BaekJoon] 10989번 수 정렬하기3 문제풀이 (Success) (0) | 2023.07.30 |
---|---|
[BaekJoon] 2751번 수 정렬하기2 문제풀이 (Success) (0) | 2023.07.29 |
[BaekJoon] 19532번 수학은 비대면강의입니다 문제풀이 (Success) (0) | 2023.07.28 |
[BaekJoon] 2798번 블랙잭 문제풀이 (Success) (0) | 2023.07.25 |
[BaekJoon] 11653번 소인수분해 문제풀이 (Success) (0) | 2023.07.24 |