주어진 문자열이 팰린드롬인지 확인하라 대소문자 구분하지 않으며 영문자와 숫자만을 대상으로 한다.

<aside> 💡 팰린드롬 : 앞뒤가 똑같은 단어나 문장으로 뒤집어도 같은말이 되는 단어 또는 문장

</aside>

입력 : 직접 문자열을 입력받기

제약조건 : 영문자, 숫자만을 대상으로 한다, 대소문자 여부를 구분하지 않는다.

리스트를 쪼개서 앞 뒤 비교하기

def isPalindrome(self, input: str) -> bool:
    strs = []
    for char in strs:
        if char.isalnum():
            strs.append(char.lower())
    
    # 판별 여부
    while len(strs) > 1:
        if strs.pop(0) != strs.pop():
            return False

    return True

Deque를 이용한 방법 (위 보다 빠름)

def is_palindrome2(input: str) -> bool:

    strs: Deque = collections.deque()

    for char in input:
        if char.isalnum():
            strs.append(char.lower())

    while len(strs) > 1:
        if strs.popleft() != strs.pop():
            return False

    return True

정규 표현식

정규 표현식은 사용하지 않았다.