알고리즘/코딩 테스트

[Leetcode] Valid Palindrome

gooooooood 2020. 8. 18. 23:15
반응형

Problem) 

간단한 문자열 문제입니다. 코딩 문제로 문자열과 정규식 관련 문제를 은근히 자주 마주칠 수 있는데요. 이번 문제를 통해서 다시 한번 문자열 관련 다양한 처리 방법들에 대해서 정리해보면 좋을 것 같네요.

 

Solution)

# 문자열 활용 솔류션
class Solution:
    def isPalindrome(self, s: str) -> bool:
        strs = []
        
        for char in s:
            if char.isalnum():
                strs.append(char.lower())
                
        while len(strs) > 1:
            if strs.pop(0) != strs.pop():
                return False
        
        return True
# 정규식 활용 솔류션
import re

class Solution:
    def isPalindrome(self, s: str) -> bool:
        s = s.lower()
        s = re.sub('[^a-z0-9]', '', s)

        return s == s[::-1]

 

Reference)

Python 문자열

Python 정규식

Python 슬라이싱

반응형

'알고리즘 > 코딩 테스트' 카테고리의 다른 글

[LeetCode] Two Sum  (0) 2020.08.20
[Leetcode] Reverse String  (0) 2020.08.19
[Leetcode] Container With Most Water  (0) 2020.06.04
[Leetcode] Two City Scheduling  (0) 2020.06.03
[Leetcode] Invert Binary Tree  (0) 2020.06.02