상세 컨텐츠

본문 제목

9. Palindrome Number

Developer/LEETCODE

by cepiloth 2021. 9. 4. 11:28

본문

728x90
반응형

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

난이도 : easy

문제

입력으로 들어오는 정수 x 가 펠린드롬인지 아닌지 판단하라.

 

문자열로 변경하여서 시작지점과 끝지점에 값을 비교하는 방법으로 하는 풀이 할 수 있다.

또한, rX 라는 변수를 하나 두고 % 10 연산으로 나머지 값을 채우면서 x 의 값이 rX 보다 클때까지 연산하여 비교하는 방법이 있다.

x 가 1 2 1 일때

x = 1 2, rX = 1

x = 1 , rX = 12

 

코드

문자열로 변경하여 시작과 끝을 비교하는 풀이

class Solution {
public:
    bool isPalindrome(int x) {
        
        // 문자열로 변경하고 reverse  해서 같은 수인지 확인 하는 방식으로 풀어 보겠음
        // 펠린드롬에 특징을 이용해서
        
        // 이렇게하면 문자열로 변경됨
        string s = to_string(x);
        
        // 리버스 문자를 만든다
        string tmp = s;
        reverse(tmp.begin(), tmp.end());
        
        // 두문자가 같으면 true 틀리면 false
        return s == tmp;
    }
};

 

나머지값을 이용한 풀이

class Solution {
public:
    bool isPalindrome(int x) {
        
        if (x < 0 || (x % 10 == 0 && x != 0)) {
            return false;
        }
        
        int rX = 0;
        while(x > rX) {
            rX = rX * 10 + x % 10;
            x = x / 10;
        }
        
        return rX == x || x == rX/10;
    }
};
728x90
반응형

'Developer > LEETCODE' 카테고리의 다른 글

1. Two Sum  (0) 2021.09.04
409. Longest Palindrome  (0) 2021.09.04
17. Letter Combinations of a Phone Number  (0) 2021.09.04
49. Group Anagram  (0) 2021.09.04
344. Reverse String  (0) 2021.09.04

관련글 더보기

댓글 영역