[LeetCode] 1704. Determine if String Halves Are Alike

Chobby·2025년 10월 10일
1

LeetCode

목록 보기
583/650

😎풀이

  1. 모음 정의
  2. 절반 지점 정의
  3. s 순회
    3-1. 현재 글자가 자음이라면 생략
    3-2. 절반으로 나눈 앞 문자가 모음이라면 vowelCount 증가
    3-3. 절반으로 나눈 뒤 문자가 모음이라면 vowelCount 감소
  4. vowelCount가 0과 같다면, 모음 수가 동일하므로 true, 아니라면 false 반환환
function halvesAreAlike(s: string): boolean {
    const vowels = new Set(['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'])
    const n = s.length
    const halfPoint = n / 2
    let vowelCount = 0
    for(let i = 0; i < n; i++) {
        const char = s[i]
        if(!vowels.has(char)) continue
        if(i < halfPoint) vowelCount++
        else vowelCount--
    }
    return vowelCount === 0
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글