[JS알고리즘] 유효한 팰린드롬
in Algorithm
앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 팰린드롬이라고 합니다.
문자열이 입력되면 해당 문자열이 팰린드롬이면 “YES”, 아니면 “NO”를 출력하는 프로그램을
작성하세요.
단 회문을 검사할 때 알파벳만 가지고 회문을 검사하며, 대소문자를 구분하지 않습니다.
알파벳 이외의 문자들의 무시합니다.
메소드를 이용하는 경우
<script>
function solution(s){
let answer="YES";
s=s.toLowerCase().replace(/[^a-z]/g, '');
if(s.split('').reverse().join('')!==s) return "NO";
return answer;
}
let str="found7, time: study; Yduts; emit, 7Dnuof";
console.log(solution(str));
</script>
- 우선 소문자로 통일을 해주고 알파벳이 아닌것들은 replace해준다.
- 알파벳이 아닌것들은 정규식을 이용해서 없애준다.
[^a-z]
소문자 a부터 z가 아닌(^)것들을 전역(g) 에서 빈칸(두번째 인자값)으로 변경하면된다
inflearn 자바스크립트 알고리즘 강의 내용 =)