본문 바로가기
Algorithm/Implementation

[Java] 자릿수별(n자리) Palindrome 수 개수 구하기

by Dev_Green 2023. 1. 30.

Palindrome 이란?

거꾸로 읽어도 제대로 읽는 것과 같은 문장이나 낱말, 숫자, 문자열 등이다.

수로 예를 들면, 3, 131, 1221 등이 palindrome 수이다.

 

문제상황

1 이상, 10, 000 이하 정수 n이 주어졌을 때 palindrome인 n자리 수의 갯수를 구하라. 

 

풀이 코드

class Solution {
    public int solution(int n) {
        if (n == 1) {
            return 10;
        }

        long ans = 1;

        for (int i = 0; i < n; i += 2) {
            ans = (ans * (i == 0 ? 9 : 10));
            ans %= 1_000_000_007;  // 오버플로우 방지
        }
        
        return (int)ans;
    }
}