
😎풀이
s를 문자 단위로 분리
- 캐릭터 코드에 맞추어 a는 97 ... z는 122까지 설정
- 각 문자까지의 합 계산
- 현재까지의 합을 기준으로 배열을 좌, 우 동일한 합이 발생하는지 판별
- 동일한 합의 두 배열로 나눌 수 있는지 여부 반환
function scoreBalance(s: string): boolean {
const n = s.length
const splitted = [...s]
const numS = splitted.map(char => char.charCodeAt(0) - 96)
const sums = [numS[0]]
for(let i = 1; i < n; i++) {
sums.push(sums[i - 1] + numS[i])
}
for(let i = 0; i < n; i++) {
const leftSum = sums[i]
const rightSum = sums[n - 1] - leftSum
if(leftSum === rightSum) return true
}
return false
};