문제
n의 10진수 자릿수가 앞에서 읽으나 뒤에서 읽으나 같은지 판별하세요. 음수는 마이너스 기호 때문에 절대 팰린드롬이 아닙니다.
is_palindrome_number(n)을 구현하세요.
입력
n: 확인할 숫자입니다.
출력
팰린드롬 수라면 true, 아니라면 false를 반환하세요.
제약 조건
-10¹⁸ ≤ n ≤ 10¹⁸
예시
예시 1
입력:
n = 12321
예상 출력:
expected = True
입력:
long long n = 12321;
예상 출력:
bool expected = true;
입력:
long n = 12321;
예상 출력:
bool expected = true;
설명
12321을 뒤집으면 12321입니다.
예시 2
입력:
n = -121
예상 출력:
expected = False
입력:
long long n = -121;
예상 출력:
bool expected = false;
입력:
long n = -121;
예상 출력:
bool expected = false;
설명
마이너스 기호 때문에 "-121"은 "121-"과 다릅니다.
접근 방법
먼저 스스로 풀어 본 뒤 힌트를 하나씩 열어 보세요.
힌트 1
음수는 앞의 - 기호 때문에 팰린드롬이 될 수 없습니다.
힌트 2
숫자로 바로 변환하기보다 양끝 자리부터 비교하세요.
힌트 3
한 자리 수는 항상 팰린드롬입니다.
예상 복잡도
시간 O(log n), 추가 공간 O(1)
참고 자료
이 문제는 CodeUtility에 맞게 수정되었습니다. 위의 설명과 제한 조건을 따르세요.