기몽수
코딩 기록일지
기몽수
전체 방문자
오늘
어제
  • 분류 전체보기 (443)
    • 알고리즘 - SWEA (210)
      • D1 (19)
      • D2 (25)
      • D3 (143)
      • D4 (21)
      • D5 (2)
    • 알고리즘 - Programmers (74)
      • Unrated (34)
      • Lv 0 (4)
      • Lv 1 (3)
      • Lv 2 (32)
      • Lv 3 (1)
    • 알고리즘 - Baekjoon (158)
      • Bronze (1)
      • Silver (65)
      • Gold (90)
      • Platinum (2)
    • 취업 (0)
    • SSAFY (1)
hELLO · Designed By 김용수.
기몽수

코딩 기록일지

알고리즘 - Baekjoon/Silver

[백준] 1747번 : 소수&팰린드롬 Silver1(실버1) - JAVA[자바]

2023. 11. 1. 11:24

[Silver I] 소수&팰린드롬 - 1747

문제 링크

성능 요약

메모리: 19612 KB, 시간: 176 ms

분류

브루트포스 알고리즘, 수학, 정수론, 소수 판정, 에라토스테네스의 체

제출 일자

2023년 11월 1일 11:23:13

문제 설명

어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다.

어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고, 소수이면서 팰린드롬인 수 중에서, 가장 작은 수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 N이 주어진다.

출력

첫째 줄에 조건을 만족하는 수를 출력한다.

import java.util.Scanner;

class Main{ 
   public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        boolean[] prime = new boolean[2000001];
        prime[0] = prime[1] = true;
        for(int i = 2; i <= Math.sqrt(prime.length); i++){
            if(prime[i]) continue;
            for(int j = i * 2; j < prime.length; j += i){
                prime[j] = true;
            }
        }
        int n = sc.nextInt();
        int result = 0;
        for(int i = n; i < prime.length; i++){
            if(prime[i]) continue;
            String num = String.valueOf(i);
            result = i;
            for(int j = 0; j < num.length() / 2; j++){
                if(num.charAt(j) != num.charAt(num.length() - j - 1)){
                    result = 0;
                    break;
                }
            }
            if(result != 0){
                break;
            }
        }
        System.out.println(result);
    }
}

'알고리즘 - Baekjoon > Silver' 카테고리의 다른 글

[백준] 1629번 : 곱셈 Silver1(실버1) - JAVA[자바]  (0) 2023.11.16
[백준] 11051번 : 이항 계수2 Silver2(실버2) - JAVA[자바]  (0) 2023.11.08
[백준] 12026번 : BOJ 거리 Silver1(실버1) - JAVA[자바]  (0) 2023.10.26
[백준] 16922번 : 로마 숫자 만들기 Silver2(실버2) - JAVA[자바]  (0) 2023.10.26
[백준] 13706번 : 제곱근 Silver4(실버 4) - JAVA[자바]  (1) 2023.10.26
    '알고리즘 - Baekjoon/Silver' 카테고리의 다른 글
    • [백준] 1629번 : 곱셈 Silver1(실버1) - JAVA[자바]
    • [백준] 11051번 : 이항 계수2 Silver2(실버2) - JAVA[자바]
    • [백준] 12026번 : BOJ 거리 Silver1(실버1) - JAVA[자바]
    • [백준] 16922번 : 로마 숫자 만들기 Silver2(실버2) - JAVA[자바]
    기몽수
    기몽수

    티스토리툴바