알고리즘 문제 풀기

<leetCode> 9. Palindrome Number

studying develop 2021. 1. 16. 04:34

많이 해본 문젠데, 쉽긴했다.

 

근데 내가 한 방법 말고도 있나 있으면 신기할듯

 

class Solution {
    func isPalindrome(_ x: Int) -> Bool {
        let arr = Array(String(x))
        
        let count = arr.count
        for (idx, val) in arr.enumerated() {
            
            
            let st = idx
            let dt = count - st - 1 
            
            guard st <= dt else {
                break
            }
            
            if arr[st] != arr[dt] {
                return false
            }
        }
        
        return true
    }
}

 

음 방법이 있었다.

 

Reverse half of the string이라고... 

 

나처럼 배열로 접근하지 않고, 문자열로서 접근했으면 볼 수 있을 만한 방법인데...

 

아까 문자열로서는 없나? 생각 한번 하긴했는데, 이게 고정 관념으로 또 배열로 해버렸네;

 

새로운 접근은 절대 기존 접근을 안해야지! 의도적으로 생각해야 될까 말까 한거 같다.