Menu
CoddyTech

Valid Palindrome

쉬움투 포인터python iconjava iconcpp iconc iconjs icon+10

문자열 s가 주어집니다. 문자와 숫자만 남기고, 대문자와 소문자를 같은 문자로 취급하여, 남은 내용이 왼쪽에서 오른쪽으로 읽을 때와 오른쪽에서 왼쪽으로 읽을 때 같은지 판단하세요. 같으면 true를 반환하고, 그렇지 않으면 false를 반환하세요.

., !, ?, :, ;, - 또는 _와 같은 그 밖의 모든 문자는 무시합니다. s에 문자나 숫자가 전혀 없다면 아무것도 남지 않으며, 빈 문자열은 회문으로 간주합니다.

함수

isPalindrome(s: string) → boolean
sstring
확인할 텍스트(문장 부호 포함)
반환값boolean
대소문자를 무시했을 때 s의 문자와 숫자가 양방향으로 동일하게 읽히면 true

제약 조건

  • 1 ≤ s.length ≤ 5 × 104
  • s에는 공백 없이 영문자, 숫자 및 문장 부호 . ! ? : ; - _가 포함되어 있습니다.

예제

입력
s = "Was_it_a_car_or_a_cat_I_saw?"
출력
true
설명
밑줄과 물음표를 없애고 대문자를 소문자로 바꾸면 wasitacaroracatisaw가 되는데, 이는 거꾸로 읽어도 같습니다.

lock icon제출 시 숨은 테스트 +25개

challenge icon

후속 질문

정리된 s의 복사본을 만들지 않고 추가 메모리 O(1)로 이를 결정할 수 있나요?

코드 초기화
def isPalindrome(s):
    # 여기에 코드를 작성하세요
테스트 케이스

케이스 1

케이스 2

케이스 3

입력

s = "Was_it_a_car_or_a_cat_I_saw?"

기대값

true