문제
입력받은 문자열에서 영문자와 숫자만 고려해서(대소문자 무시) 회문인지 확인해서 true
/ false
반환.
설명
우선 회문은 뒤집어도 똑같은 문자열을 말합니다.
예를들어 기러기
, 탄도유도탄
, 다들 잠들다
같은 말입니다.
소문자로 만들기
제가 생각한 방법은 주어진 문자열 s
를 str.toLowerCase() 를 이용해서 소문자로 만들어 줍니다.
숫자와 문자를 제외한 모든것 제거
그 후에 숫자와 문자를 제외한 모든것을 str.replace()를 이용해서 제거하고,
문자열 뒤집기
문자열을 뒤집어 주기 위해서 split() 으로 문자열을 쪼개서 배열로 만들고, reverse() 를 이용해서 배열의 순서를 뒤집고, join() 을 이용해서 배열을 문자열로 만들고 나면 뒤집어진 문자열이 생성됩니다.
반환하기
이 뒤집힌 문자열과 입력받은 문자열이 같은지 확인하고 결과를 리턴해줍니다.
조금 더 자세한 설명은 답의 주석을 참고하세요!
답
|
|
LeetCode
Given a string s, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.
Example 1:
|
|
Example 2:
|
|
Constraints:
1 <= s.length <= 2 * 105 s consists only of printable ASCII characters.