문자열 조작 추가문제

less than 1 minute read

Question: 유효한 팰린드롬 2

Given a string s, return true if the s can be palindrome after deleting at most one character from it.

입력: s = “abca”

출력: true

내 풀이

class Solution:
    def validPalindrome(self, s: str) -> bool:          
        left, right = 0, len(s) - 1
        while left < right:
        # left값과 right값이 다를때 비교한다.
            if s[left] != s[right]:
            
            # s[left] 와 s[right] 중 어느 것이 palindrome이 되는 걸 막는지 모르므로 각자를 뺀 경우를 가정하여 변수를 생성한다.
                one,two = s[left:right], s[left+1:right+1]
                
            # 두 변수 중 어느 하나라도 palindrome 이면 True를 리턴한다.
                return one==one[::-1] or two==two[::-1]
            left += 1
            right -= 1
        return True

결과

Runtime: 129 ms, faster than 71.74% of Python3 online submissions for Valid Palindrome II.
Memory Usage: 14.4 MB, less than 92.13% of Python3 online submissions for Valid Palindrome II.

Comments