[JS알고리즘] 유효한 팰린드롬



앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 팰린드롬이라고 합니다.

문자열이 입력되면 해당 문자열이 팰린드롬이면 “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>
  1. 우선 소문자로 통일을 해주고 알파벳이 아닌것들은 replace해준다.
  2. 알파벳이 아닌것들은 정규식을 이용해서 없애준다. [^a-z] 소문자 a부터 z가 아닌(^)것들을 전역(g) 에서 빈칸(두번째 인자값)으로 변경하면된다





inflearn 자바스크립트 알고리즘 강의 내용 =)




© 2018. by sora

Powered by sora