Tags
- greedy
- Brute Force Algorithm
- queue
- Python
- ์๋ฃ๊ตฌ์กฐ
- PGM
- Java
- BOJ
- Study
- sort
- BFS
- ์ ์๋ก
- ์ ๋ ฌ
- ๊ตฌํ
- ์๋ฎฌ๋ ์ด์
- stack
- LV2
- ๊น์ด ์ฐ์ ํ์
- ๊ต์ฌ
- ๋๋น ์ฐ์ ํ์
- SpringBoot
- ๊ทธ๋ํ ํ์
- ๋ฌธ์์ด
- Dynamic Programming
- ๊ทธ๋ํ ์ด๋ก
- DP
- ์ํ
- CodingTest
- dfs
- ๋ฐฑํธ๋ํน
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_1072 : ๊ฒ์ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ์ด ๊ฒ์ ํ์ x์ ์น๋ฆฌ ์ y๊ฐ ์ ๋ ฅ๋๋ค.
- ์น๋ฅ z๋ y/x*100 ์์ ์์์ ์ ๋ฒ๋ฆฐ๋ค.
- ์น๋ฆฌ ์๋ฅผ ์ถ๊ฐํ ์ ์๋๋ฐ, ์ต์ ๋ช ๋ฒ์ ๊ฒ์์ ํด์ผ z๊ฐ ๋ณํ ์ง ์ถ๋ ฅํ๋ค.
- ๊ฐ์ด ์ฌ๋ผ๊ฐ ์ ์๋ ์ต๋๋ 99.9999...์ด๋ฏ๋ก, z์ ์ด๊ธฐ๊ฐ์ด 99์ 100์ผ๋๋ ๋ณํ์ง ์์ผ๋ฏ๋ก -1์ ์ถ๋ ฅํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double x = sc.nextDouble();
double y = sc.nextDouble();
double preZ = Math.floor(100*y/x);
double nextZ = 0;
if (preZ >= 99)
System.out.println(-1);
else {
int count = 0;
while (nextZ <= preZ) {
count++;
nextZ = Math.floor(100*++y/++x);
}
System.out.println(count);
}
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- x์ y๋ฅผ doubleํ์ผ๋ก ์ ๋ ฅ๋ฐ์ ์ด๊ธฐ z๊ฐ์ธ preZ๋ฅผ ์ ์ฅํ๋ค.
- preZ๊ฐ 99์ด์์ด๋ฉด ๋ณํ ์ ์์ผ๋ฏ๋ก -1์ ์ถ๋ ฅํ๋ค.
- preZ๊ฐ 99๋ฏธ๋ง์ด๋ฉด nextZ๊ฐ preZ๋ณด๋ค ์ปค์ง ๋ ๊น์ง ๊ณ์ฐ์ ๋ฐ๋ณตํ๋ค.
- ์นด์ดํธ๋ฅผ 1 ์ฆ๊ฐ์ํจ๋ค.
- y์ x๋ฅผ 1 ์ฆ๊ฐ์ํค๊ณ z๋ฅผ ๋ค์ ๊ณ์ฐํด์ nextZ์ ์ ์ฅํ๋ค.
- count๋ฅผ ์ถ๋ ฅํ๋ค.
๐ธ end ๐ธ
- z๋ฅผ ๊ณ์ฐํ ๋ y/x*100์ผ๋ก ํ๋ฉด ํ๋ฆฌ๊ณ 100*y/x๋ก ํ๋ฉด ์ ๋ต์ฒ๋ฆฌ๊ฐ ๋๋ค.
- ์๋ง doubleํ์ ๊ณ์ฐ์์ ์ ํ๋์ ์ค์ฐจ๊ฐ ์๊ธฐ๋ ๊ฒ ๊ฐ๋ค.
- ์ด ๋ฌธ์ ๋ฅผ ์ด๋ถํ์์ผ๋ก ํ์ดํ ์ ์๋๋ฐ ํ๋ผ๋ฉํธ๋ฆญ์ค ์์น๋ฅผ ์ฌ์ฉํ๋ค๊ณ ํด์ ํฌ์คํ
์ ์ฐพ์๋ณด์๋ค.
- ์๋ง x์ ๋ฒ์ 1๋ถํฐ 10์ต๊น์ง ์ค preZ<nextZ๊ฐ ๋๋ ์ต์๊ฐ์ ์ฐพ์ผ๋ฉด ๋ ๊ฒ ๊ฐ๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_1183 : ์ฝ์ (0) | 2023.01.09 |
---|---|
BOJ_1166 : ์ ๋ฌผ (0) | 2023.01.06 |
BOJ_1063 : ํน (0) | 2023.01.04 |
BOJ_1057 : ํ ๋๋จผํธ (0) | 2023.01.01 |
BOJ_1004 : ์ด๋ฆฐ ์์ (0) | 2022.12.31 |