
😎풀이
- 모음 정의
- 절반 지점 정의
s
순회
3-1. 현재 글자가 자음이라면 생략
3-2. 절반으로 나눈 앞 문자가 모음이라면 vowelCount
증가
3-3. 절반으로 나눈 뒤 문자가 모음이라면 vowelCount
감소
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
};