(알고리즘) 유효한 팰린드롬
앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 팰린드롬이라고 한다.
문자열이 입력되면 해당 문자열이 팰린드롬이라면 'YES', 'NO'를 출력하는 프로그램을 작성하세요.
단 회문을 검사할때 알파벳만 가지고 회문을 검사하며, 대소문자를 구분하지 않는다.
알파벳 이외의 문자들을 무시한다.
입력설명
첫 줄에 정수 길이 100을 넘지 않는 공백이 없는 문자열이 주어진다.
출력설명
첫 번째 줄에 팰린드롬인지의 결과를 YES 또는 NO를 출력한다.
입력예제
'found7, time: study; Yduts; emit, 7Dnuof'
출력예제 1
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;
}
Author And Source
이 문제에 관하여((알고리즘) 유효한 팰린드롬), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yunsungyang-omc/알고리즘-유효한-팰린드롬저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)