문제 링크
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
▶ 변수 생성
- 입력받은 정수를 저장할 변수 생성
- 결과를 저장할 변수 생성
▶ 로직
- 입력받은 정수가 0이 될 때까지 반복
- 결과를 저장할 변수 = (자기 자신 X 10) + (입력받은 정수 % 10)
- 입력받은 정수 = 자기 자신 / 10
- 입력받은 정수와 결과를 저장한 변수가 일치하는지 체크
- 결과 리턴
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 |