개발자의 삶/Algorithm

[LeetCode] Palindrome Number (with Go)

Kedric 2022. 2. 7. 16:27
728x90
반응형

Given an integer x, return true if x is palindrome integer.

An integer is a palindrome when it reads the same backward as forward.

  • For example, 121 is a palindrome while 123 is not.

Example 1:

Input: x = 121
Output: true
Explanation: 121 reads as 121 from left to right and from right to left.

 

뭔말인가 했다

palindrome 이 무슨 뜻인지 몰라서 검색을 해보려다가

예제를 보니

대충 주어지는 숫자(혹은 문자) 를 역순 정렬했을 때도 이전과 같은 것을 의미하는것 같다

ex, 121 == 121, 123 != 321, 1223 != 3221, 1331 == 1331

 

palindrome 이 맞다면 true

else false로 응답

 

func isPalindrome(x int) bool {
    
    result := false
    
    if x < 0 {
        return result
    }
    
    originStr := strconv.Itoa(x)
    
    reverseStr := ""
    for i := len(originStr) - 1; i >= 0; i-- {
        reverseStr += string(originStr[i])
    }
    
    if originStr == reverseStr{
        result = true
    }
    
    return result
}

 

 

Java 에서 쓰던 function들을 안쓰려니

Golang으로 구글링하는데

Java에 비해선(당연스럽게도) 자료가 부족한것 같다

 

나는 string reverse를 생각하고 위처럼 작성했는데

golang reverse 관련 구글링해보니

rune 타입을 많이 사용하는것 같았다.

또 하나 알아간다.

 

추가적으로 문제 내에

문자열로 바꾸지않고 풀수 있냐는 지문이 있었다.

물론 푼사람들도 다수 있었다.

고수가 너무 많다.

수포자인 나는 어떻게 개발자를 하고 있는걸까

 

 

문제출처 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

 

728x90
반응형