앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 팰린드롬이라고 한다.
문자열이 입력되면 해당 문자열이 팰린드롬이라면 'YES', 'NO'를 출력하는 프로그램을 작성하세요.
단 회문을 검사할때 알파벳만 가지고 회문을 검사하며, 대소문자를 구분하지 않는다.
알파벳 이외의 문자들을 무시한다.
첫 줄에 정수 길이 100을 넘지 않는 공백이 없는 문자열이 주어진다.
첫 번째 줄에 팰린드롬인지의 결과를 YES 또는 NO를 출력한다.
'found7, time: study; Yduts; emit, 7Dnuof'
YES
회문 문자열 문제 복습. 이 문제의 포인트는 오로지 알파벳을 가지고 판별한다는 것이다. 따라서,
이를 위해서 메소드 toLowerCase()
를 이용해서 소문자로 통일하고, 정규표현식과 replace 메소드로 알파벳이 아닌 문자열을 모두 정리해준다.
replace(/[^a-z]/g, '')
나머지는 이전 문제와 풀이가 동일하다.
function solution(s) {
let answer;
let s2 = s.toLowerCase().replace(/[^a-z]/g, ''); // 중요한 포인트
s2.split('').reverse().join('') !== s2 ? answer = 'No' : answer = 'yes'
return answer;
}