반응형
문제 3-2번
앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 팰린드롬이라고 합니다. 문자열이 입력되면 해당 문자열이 팰린드롬이면 "YES", 아니면 “NO"를 출력하는 프로그램을 작성하세요. 단 회문을 검사할 때 알파벳만 가지고 회문을 검사하며, 대소문자를 구분하지 않습니다. 알파벳 이외의 문자들의 무시합니다.
🍄 입력설명
첫 줄에 정수 길이 100을 넘지 않는 공백이 없는 문자열이 주어집니다.
🍄 출력설명
첫 번째 줄에 팰린드롬인지의 결과를 YES 또는 NO로 출력합니다.
🍄 입력예제 1
found7, time: study; Yduts; emit, 7Dnuof
🍄 출력예제 1
YES
정답 코드
정규식 표현 이용
/[^a-z]/g 는 알파벳 소문자로 시작하지 않는 모든 문자를 전역에서 찾아서,
(정규식 리터럴은 슬래쉬 "/"로 감싸는 패턴이다. [^ 는 부정의 뜻으로 알파벳 소문자 a~z가 아닌 것을 의미
replace (a, b) : a를 b로 대체
function solution(s) {
let answer = "YES";
s = s.toLowerCase().replace(/[^a-z]/g, "");
if (s.split("").reverse().join("") !== s) return "NO";
return answer;
}
let arr = "found7, time:, study;, Yduts;, emit, 7Dnuof";
console.log(solution(arr));
//YES 출력
728x90
반응형
'알고리즘' 카테고리의 다른 글
[JS] 알고리즘 기초 정복 3-4번_가장 짧은 문자거리 (0) | 2021.07.15 |
---|---|
[JS] 알고리즘 기초 정복 3-3번_숫자만 추출 (0) | 2021.07.15 |
[JS] 알고리즘 기초 정복 3-1번_회문 문자열 (0) | 2021.07.15 |
[JS] 알고리즘 기초 정복 2-7번 - 봉우리 🌟 (0) | 2021.07.13 |
[JS] 알고리즘 기초 정복 2-6번 - 격자판 최대합 (0) | 2021.07.13 |