Tags
- ๊น์ด ์ฐ์ ํ์
- dfs
- Dynamic Programming
- LV2
- ์ ์๋ก
- ๋ฐฑํธ๋ํน
- ๊ทธ๋ํ ํ์
- Python
- ์ํ
- ์ ๋ ฌ
- BOJ
- ๋ฌธ์์ด
- ์๋ฃ๊ตฌ์กฐ
- queue
- stack
- PGM
- Brute Force Algorithm
- ๊ต์ฌ
- BFS
- ๋๋น ์ฐ์ ํ์
- DP
- CodingTest
- greedy
- ๊ทธ๋ํ ์ด๋ก
- ์๋ฎฌ๋ ์ด์
- Java
- sort
- SpringBoot
- ๊ตฌํ
- Study
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_1747 : ์์&ํฐ๋ฆฐ๋๋กฌ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ์์๋ฅผ ๊ตฌํ ํ ์ค๋ฆ์ฐจ์์ผ๋ก ํฐ๋ฆฐ๋๋กฌ์ ์ฐพ์ ์ถ๋ ฅํ๋ค.
๐ธ ๋ฌธ์ ํ์ด ๐ธ
- N์ด 100๋ง๊น์ง ์ ๋ ฅ๋๋๋ฐ, ์ฌ์ ์๊ฒ 1000๋ง๊น์ง ์์๋ฅผ ๊ตฌํ๋ค.
- ํฐ๋ฆฐ๋๋กฌ์ ์๋ฅผ char๋ฐฐ์ด๋ก ๋ณํํ ๋ค ํฌํฌ์ธํฐ๋ก ํ๋จํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int N = Integer.parseInt(br.readLine());
final int MAX = 10_000_000;
boolean[] pn = new boolean[MAX];
pn[1] = true;
for (int i = 2; i < MAX; i++) {
if (!pn[i]) {
int mul = 2;
while (i * mul < MAX) {
pn[i * mul++] = true;
}
}
}
for (int i = N; i < MAX; i++) {
if (!pn[i] && palindrome(i)) {
bw.write(Integer.toString(i));
break;
}
}
bw.flush();
}
private static boolean palindrome(int num) {
char[] chars = String.valueOf(num).toCharArray();
int start = 0;
int end = chars.length - 1;
while (start < end) {
if (chars[start++] != chars[end--])
return false;
}
return true;
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- ์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ก 1000๋ง๊น์ง์ ์์๋ฅผ ๊ตฌํ๋ค.
- N์ด์ 1000๋ง ๋ฏธ๋ง์ ์์ ์ค์์ ์ค๋ฆ์ฐจ์์ผ๋ก ํฐ๋ฆฐ๋๋กฌ์ ์ฐพ๋๋ค.
- ํฌํฌ์ธํฐ๋ฅผ ์ด์ฉํด ํ๋จํ๋ค.
- ๊ฐ์ฅ ๋จผ์ ๋ฐ๊ฒฌ๋๋ ํฐ๋ฆฐ๋๋กฌ์ ์ถ๋ ฅํ๋ค.
๐ธ end ๐ธ
- ์์์ ํฐ๋ฆฐ๋๋กฌ์ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ์ ์์ฃผ ๊ฐ๋จํ๋ค.
- ๋ค๋ง, ์์๋ฅผ ๊ตฌํ๋ ๋ฒ์๊ฐ ๊ณ ๋ฏผ๋์๋๋ฐ, ์๊ฐ์ด ๋๋ํด์ 1000๋ง๊น์ง ์ฌ์ ๋กญ๊ฒ ๊ตฌํด๋ ๊ด์ฐฎ์๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_11689 : GCD(n, k) = 1 (0) | 2024.02.21 |
---|---|
BOJ_1016 : ์ ๊ณฑ ใดใด ์ (0) | 2024.02.20 |
BOJ_1456 : ๊ฑฐ์ ์์ (0) | 2024.02.18 |
BOJ_11444 : ํผ๋ณด๋์น ์ 6 (0) | 2024.02.12 |
BOJ_1744 : ์ ๋ฌถ๊ธฐ (0) | 2024.02.11 |