https://www.acmicpc.net/problem/4299
์ค๋ช
๋ฌธ์ ์์ ์๋ก ์ด ๊ธธ์ง๋ง ํต์ฌ์ ๋งจ ์๋ซ์ค์ด๋ค. ๋ ํ์ ์ ์์ ํฉ๊ณผ ์ฐจ๊ฐ ์ฃผ์ด์ง๊ณ ๊ทธ๊ฑธ ์ด์ฉํด์ ์ค์ฝ์ด๋ฅผ ๊ตฌํ๋ ๊ฒ์ด๋ค. ๋จ์ํ ์ํ ๋ฌธ์ ์ด๋ค.
ํ์ด
์ ์์ ํฉ์์๋ถํฐ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ค ํ์ธํ๋ฉด์ ๋ฌธ์ ๋ฅผ ํ์๋ค. 1์ฉ ๋ง์ด๋์ค ํด๊ฐ๋ฉด์ ์ ๋ ฅ๋ ์ ์์ฐจ์ ๋ง๋์ง ํ์ธํ๋ค.
1. mk๋ ์๋ํ, afc๋ ์ฐ๋ฆฌํ์ด๋ผ๊ณ ๊ฐ์ ํ๋ค. (ํท๊ฐ๋ฆผ ๋ฐฉ์ง)
2. while ๋ฌธ
- ์ ์ํฉ์์ 0์ ๋นผ์ afc ๋ณ์์ ์ ์ฅํ๋ค. ๊ฒฝ์ฐ์ ์๋ฅผ ๋ค ํ์ธํ๋ ๊ฒ์ด๋ฏ๋ก ๋จผ์ ์๋ํ ์ ์๊ฐ 0์ด๋ผ๊ณ ๊ฐ์ ํ๊ณ ํผ๋ค.
- ์ฐ๋ฆฌํ์ธ afc ์ ์์์ ์๋ํ์ธ mk๋ฅผ ๋บ ๊ฐ์ด ์ ์์ฐจ์ ๊ฐ์ผ๋ฉด ์ค์ฝ์ด๋ฅผ ์ถ๋ ฅํ๊ณ while๋ฌธ์ ๋น ์ ธ๋์จ๋ค.
- ์ ์์ฐจ๊ฐ ๊ฐ์ง ์์ผ๋ฉด ์๋ํ mk ์ ์๋ฅผ 1 ์ฆ๊ฐ์ํจ๋ค.
- ๊ทธ๋์ ์ ์์ฐจ๊ฐ ๊ฐ์์ง ๋๊น์ง ๋ฐ๋ณตํ๋ค.
- ๊ทธ๋ฌ๋ ํฉ๊ณผ ์ฐจ๋ฅผ ๊ฐ๋ ๊ฒฝ๊ธฐ ๊ฒฐ๊ณผ๊ฐ ์์ ๋ -1์ ์ถ๋ ฅํด์ผ ํ๋ฏ๋ก ์๋ํ ์ ์๊ฐ ์ ์ ํฉ๋ณด๋ค ํฌ๋ฉด ์ค๋จ์ํค๋๋ก ํ๋ค.
์ถ๋ ฅ ๊ฒฐ๊ณผ ์กฐ๊ฑด์์ ์ ์๊ฐ ๋์ ๊ฑฐ ๋จผ์ ์ถ๋ ฅ์ํค๋ผ๊ณ ํ๋๋ฐ, ์ด๋ ํ ์ ์๊ฐ ๋๋ ์ ์์ฐจ๋ ์ผ์ ํ๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฐ ์กฐ๊ฑด์ ์ฝ๋์ ๋ฃ์ด์ฃผ์ง ์์๋ ๋๋ค.
Solution
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int sum = sc.nextInt();
int diff = sc.nextInt();
int mk = 0;
while(true) {
int afc = sum - mk;
if (afc - mk == diff) {
System.out.println(afc + " " + mk);
break;
} else {
mk += 1;
}
if (mk > sum) {
System.out.println(-1);
break;
}
}
}
}
/**
* ๋ฐ๋ก : 6 6 or 6 5
*/
๐ฉ๐ป ํ๊ณ
๊ฒฝ์ฐ์ ์๋ฅผ ๋ค ๋ฐ์ก๋ค๊ณ ์๊ฐํ๋๋ฐ ์๋ํ ์ ์๊ฐ 0์ธ ๊ฒฝ์ฐ๋ฅผ ์๊ฐ ๋ชปํ์๋ค. ๊ทธ๋์ ์ฒ์์ ์ ์์ฐจ๊ฐ 0์ด์์ ๋ -1์ ์ถ๋ ฅ์์ผฐ์๋๋ฌ๋ค...
'๐งฉ Algorithm > [BOJ] Bronze' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| BOJ 5524 : ์ ์ค ๊ด๋ฆฌ (Java/๊ตฌํ/Bronze 4) (1) | 2024.10.09 |
|---|---|
| BOJ 4470 : ์ค๋ฒํธ (Java/๊ตฌํ/Bronze 4) (1) | 2024.10.09 |
| BOJ 2845 : ํํฐ๊ฐ ๋๋๊ณ ๋ ๋ค (Java/๊ตฌํ/Bronze 4) (1) | 2024.09.30 |
| BOJ 2083 : ๋ญ๋น ํด๋ฝ (Java/๊ตฌํ/Bronze 4) (0) | 2024.09.29 |
| BOJ 29731 : 2033๋ ๋ฐ ํฌํ (Java/๊ตฌํ/Bronze 5) (1) | 2024.09.28 |