๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 1990_์†Œ์ˆ˜์ธํŒฐ๋ฆฐ๋“œ๋กฌ

๋ฟŒ์•ผ._. 2024. 3. 13. 10:14

Gold V

๋ฌธ์ œ(์ถœ์ฒ˜: https://www.acmicpc.net/problem/1990)

< ์†Œ์ˆ˜์ธํŒฐ๋ฆฐ๋“œ๋กฌ >

 

๋ฌธ์ œ ํ’€์ด 

 

์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด์„œ b๊นŒ์ง€ ์†Œ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค. a์ด์ƒ b์ดํ•˜ ๊ฐ’ ์ค‘ ์†Œ์ˆ˜์ธ ๊ฐ’์„ ํŒฐ๋ฆฐ๋“œ๋กฌ์ธ์ง€ ํ™•์ธํ•˜์—ฌ ํŒฐ๋ฆฐ๋“œ๋กฌ์ด๋ผ๋ฉด ์ถœ๋ ฅํ•œ๋‹ค.

 

 

 my solution (Java)

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;

public class _1990_ { // ์†Œ์ˆ˜์ธํŒฐ๋ฆฐ๋“œ๋กฌ

	public static void main(String[] args) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		StringTokenizer st = new StringTokenizer(bf.readLine());

		int a = Integer.parseInt(st.nextToken());
		int b = Integer.parseInt(st.nextToken());

		boolean arr[] = new boolean[b + 1];
		arr[0] = true;
		arr[1] = true;
		for (int i = 2; i < (b + 1) / 2 + 1; i++) {
			if (!arr[i]) {
				for (int j = i + i; j < b + 1; j += i) {
					arr[j] = true;
				}
			}
		}

		boolean flag = false;
		for (int i = a; i <= b; i++) {
			if (!arr[i]) {
				String str = Integer.toString(i);
				for (int j = 0; j < str.length() / 2; j++) {
					if (str.charAt(j) != str.charAt(str.length() - 1 - j)) {
						flag = true;
						break;
					}
				}
				if (!flag) {
					bw.write(i + "\n");
				}
				flag = false;
			}
		}
		bw.write("-1");
		bw.flush();
	}
}
๋ณ€์ˆ˜)
a, b : ๋‘ ์ž์—ฐ์ˆ˜
arr : ์†Œ์ˆ˜ ํŒ๋ณ„
flag : ํŒฐ๋ฆฐ๋“œ๋กฌ ์—ฌ๋ถ€

 

๋‘ ์ž์—ฐ์ˆ˜ a, b๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ์—๋ผํ† ์Šคํ…Œ๋„ค์Šค์˜ ์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ b๊นŒ์ง€ ์†Œ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค. a์ด์ƒ b์ดํ•˜์ธ ๊ฐ’ ์ค‘์—์„œ ์†Œ์ˆ˜์ธ ๊ฐ’์„ ๋จผ์ € ์ฐพ๋Š”๋‹ค. ์†Œ์ˆ˜๋ผ๋ฉด ํŒฐ๋ฆฐ๋“œ๋กฌ์ธ์ง€ ํ™•์ธํ•˜์—ฌ ํŒฐ๋ฆฐ๋“œ๋กฌ์ด๋ผ๋ฉด ์ถœ๋ ฅํ•œ๋‹ค. ๋งˆ์ง€๋ง‰ ์ค„์—๋Š” -1์„ ์ถœ๋ ฅํ•œ๋‹ค.


* ์ฒ˜์Œ ์‹œ๊ฐ„์ดˆ๊ณผํ•œ ์ฝ”๋“œ๋ฅผ ์ˆ˜์ • ์—†์ด ์ œ์ถœํ–ˆ๋”๋‹ˆ ํ†ต๊ณผํ–ˆ๋‹ค.