유효한 팰린드롬

지창언·2022년 7월 26일
0

codingTest

목록 보기
18/29

Index

1.문제
2.내 코드
3.발전시킨 코드


문제

문자열이 입력되면 알파벳만을 가지고 검사했을 때, 해당 문자열이 팰린드롬인지를 출력하라. (대소문자 구별 x)
❓ palindrome = 회문


내 코드

<script>
    function solution(s){
        let alphabet = /[a-z|A-Z]/,temp='';
        for(let i=0;i<s.length;i++){
            if(alphabet.test(s[i])){
                temp +=s[i];
            }
        }
        temp = temp.toLowerCase();
        return temp===temp.split('').reverse().join('') ? "YES":"NO";
    }
    
    let str="found7, time: study; Yduts; emit, 7Dnuof";
    console.log(solution(str));
</script>

정규표현식을 통해 문자 하나하나가 알파벳인지를 확인한 후, temp변수에 이어 붙인다.


발전시킨 코드

<script>
	function solution(s){
        let answer = "YES";
        let temp = s.toLowerCase().replace(/[^a-z]/g,'');
        if(temp.split('').reverse().join('') !==s) return "NO";
        return answer;
    }
    let str="found7, time: study; Yduts; emit, 7Dnuof";
    console.log(solution(str));
</script>

반복문을 통해 번거롭게 하나씩 검사하지 않고
replace함수를 통해 알파벳이 아닌 것은 제거하는 방법을 사용.


profile
프론트엔드 개발자가 되고 싶은...

0개의 댓글