LeetCode - 2108. Find First Palindromic String in the Array

henu·2023년 10월 5일
0

LeetCode

목록 보기
97/186

Solution

var firstPalindrome = function(words) {
    for(word of words) {
        for(let i=0, j=word.length-1; ; i++, j--) {
            if(word[i] !== word[j]) {
                break
            }
            if(i >= j) {
                return word
            }
        }
    }

    return ''
};

Explanation

문자열을 요소로 갖고있는 배열에서 palindromic한 첫 번째 요소를 찾아서 리턴하는 문제이다.
여기서 palindromic은 똑바로 읽어도 거꾸로 읽어도 같은 단어이다.
1. for문을 이용해서 각각의 문자열에 접근한다.
2. 해당 문자열이 palindromic인지 확인하기 위해서 Two Pointers를 이용한다.
3. i 포인터는 앞에서부터, j 포인터는 끝에서부터 접근해서 두 글자가 같은지 확인하다.
아닐 경우 break를 통해 즉시 탈출해서 다음 문자열을 검사한다.
4. i >= j일 경우 모든 검사를 통과했다는 의미이므로 해당 문자열을 리턴한다.
5. 없을 경우 빈 문자열을 리턴해야하므로 for문이 다 끝난 다음에 '' 리턴문을 작성한다.

0개의 댓글