Algorithm/LeetCode

9. Palindrome Number

문제 링크

https://leetcode.com/problems/palindrome-number/

 

Palindrome Number - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

 

문제 접근

먼저, Palindrome은 앞으로 해도 이효리, 거꾸로 해도 이효리 인 글자, 숫자 기타 등등을 의미한다.
이 문제는 Reverse Integer 문제와 똑같은 로직을 사용했다.
10을 이용해서 나눗셈의 몫과 나머지를 이용해서 연산했다.
단, 이번 문제에서 음수는 false를 반환한다.

 

Pseudocode

▶ 변수 생성

    1. 입력받은 정수를 저장할 변수 생성
    2. 결과를 저장할 변수 생성

▶ 로직

    1. 입력받은 정수가 0이 될 때까지 반복
    2. 결과를 저장할 변수 = (자기 자신 X 10) + (입력받은 정수 % 10)
    3. 입력받은 정수 = 자기 자신 / 10
    4. 입력받은 정수와 결과를 저장한 변수가 일치하는지 체크
    5. 결과 리턴
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 단어의 뜻을 알게 된 게 가장 유익한 것 같다

'Algorithm > LeetCode' 카테고리의 다른 글

7. Reverse Integer  (0) 2021.04.07
3. Longest Substring Without Repeating Characters  (0) 2021.03.31