๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 11068_ํšŒ๋ฌธ์ธ ์ˆ˜

๋ฟŒ์•ผ._. 2024. 8. 26. 20:59
๋ฌธ์ œ(์ถœ์ฒ˜: https://www.acmicpc.net/problem/11068)

< ํšŒ๋ฌธ์ธ ์ˆ˜ >

 

๋ฌธ์ œ ํ’€์ด 

 

2์ง„๋ฒ• ~ 64์ง„๋ฒ•์œผ๋กœ ๋ณ€ํ™˜ ํ›„ ํšŒ๋ฌธ์ธ์ง€ ํŒ๋‹จํ•œ๋‹ค.

 

 

 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.ArrayList;

public class _11068_ { // ํšŒ๋ฌธ์ธ ์ˆ˜

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

		int T = Integer.parseInt(bf.readLine());

		for (int i = 0; i < T; i++) {
			String str = bf.readLine();

			boolean flag = false;
			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("1\n");
			} else {
				for (int j = 2; j <= 64; j++) {
					if (j == 10) {
						continue;
					}
					flag = false;

					int num = Integer.parseInt(str);
					ArrayList<Integer> list = new ArrayList<>();
					while (num != 0) {
						list.add(num % j);
						num /= j;
					}

					for (int k = 0; k <= list.size() / 2; k++) {
						if (list.get(k) != list.get(list.size() - 1 - k)) {
							flag = true;
							break;
						}
					}
					if (!flag) {
						bw.write("1\n");
						break;
					}
				}
				if (flag) {
					bw.write("0\n");
				}
			}
		}
		bw.flush();
	}
}

 

๋ณ€์ˆ˜)
T : ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜
str : ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ
flag : ํšŒ๋ฌธ ์—ฌ๋ถ€
num : ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ string -> int
list : B์ง„๋ฒ•์œผ๋กœ ๋ณ€ํ™˜ํ•œ ๊ฐ’

 

ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜๋งŒํผ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค.

๋จผ์ € ์ž…๋ ฅ๋ฐ›์€ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๊ฐ€ ํšŒ๋ฌธ์ธ์ง€ ํŒ๋‹จํ•œ๋‹ค. ํšŒ๋ฌธ์ด๋ผ๋ฉด 1์„ ์ถœ๋ ฅํ•˜๊ณ  ํšŒ๋ฌธ์ด ์•„๋‹ˆ๋ผ๋ฉด 2์ง„๋ฒ•๋ถ€ํ„ฐ 64์ง„๋ฒ•์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. B์ง„๋ฒ•์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ArrayList์— ์ €์žฅํ•œ๋‹ค. ArrayList๋ฅผ ํŒ๋‹จํ•˜๋ฉฐ ํšŒ๋ฌธ์ธ์ง€ ํŒ๋‹จํ•˜์—ฌ ํšŒ๋ฌธ์ด๋ผ๋ฉด 1์„ ์ถœ๋ ฅํ•˜๊ณ  ์•„๋‹ˆ๋ผ๋ฉด 0์„ ์ถœ๋ ฅํ•œ๋‹ค.