먼저, Palindrome은 앞으로 해도 이효리, 거꾸로 해도 이효리 인 글자, 숫자 기타 등등을 의미한다.
이 문제는 Reverse Integer 문제와 똑같은 로직을 사용했다.
10을 이용해서 나눗셈의 몫과 나머지를 이용해서 연산했다.
단, 이번 문제에서 음수는 false를 반환한다.
bool isPalindrome(int x) {
long _first = x;
long _check = 0;
if (x < 0)
return false;
while (x != 0) {
_check = _check * 10 + x % 10;
x = x / 10;
}
return _first == _check;
}
확실히 똑같은 로직으로 한번 문제를 풀어보니, 비슷한 로직을 만났을 때 접근방법이 빠르게 보였었다. 그리고 저번과 다르게 이번에는 문제를 꼼꼼히 읽었다.
앞으로도 계속 이래야 할 텐데....
이번 문제에선 Palindrome 단어의 뜻을 알게 된 게 가장 유익한 것 같다,, ㅎ