09.유효한 팰린드롬 - 문자열 탐색

Updated:

유효한 팰린드롬

🔍 문제

앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 팰린드롬이라고 합니다.
문자열이 입력되면 해당 문자열이 팰린드롬이면 “YES”, 아니면 “NO”를 출력하는 프로그램을작성하세요.
단 회문을 검사할 때 알파벳만 가지고 회문을 검사하며, 대소문자를 구분하지 않습니다.
알파벳 이외의 문자들의 무시합니다.

🔹 입력설명

첫 줄에 정수 길이 100을 넘지 않는 공백이 없는 문자열이 주어집니다.

🔹 출력 설명

첫 번째 줄에 팰린드롬인지의 결과를 YES 또는 NO로 출력합니다.

🔹 입력예제 1

found7, time: study; Yduts; emit, 7Dnuof

🔹 출력 예제 1

YES


📌 풀이

숫자나, 기호가 들어오면 다 제거하고, 순수하게 알파벳만 가지고만 비교하라는 것입니다. 중요포인트 replace() 를 통해서 알파벳이 아닌 부분은 빈 문자열 ‘’ 으로 return

<head>
  <meta charset="UTF-8">
  <title>출력결과</title>
</head>

<body>
  <script>
    function solution(s) {
      let answer = "YES";
      s = s.toLowerCase().replace(/[^a-z]/g, ''); // 정규표현식 a부터 z 까지 아닌것을 global 속성 즉, 전체부분을 찾아서 빈 문자열로 남기는것
      if(s.split('').reverse().join('') !== s) return "NO"
      return answer;
    }

    let str = "found7, time: study; Yduts; emit, 7Dnuof";
    console.log(solution(str));
  </script>
</body>

Leave a comment