😎풀이

펠린드롬의 비교 문제는 투 포인터를 활용하여 각 인덱스의 문자열이 같은지 비교하면 되는 문제이다.

불필요한 문자를 정제하는 과정이 가장 중요하다.

function isPalindrome(s: string): boolean {
    // 불필요 문자 제거
    const cleanStr = s.toLowerCase().replace(/[^a-z0-9]/g, '');
    
    let [left, right] = [0, cleanStr.length - 1]
    
    while (left < right) {
        // 펠린드롬 비교
        if (cleanStr[left] !== cleanStr[right]) {
            return false;
        }
        left++;
        right--;
    }
    
    return true;
}
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글