function productExceptSelf(nums: number[]): number[] {
const n = nums.length
const result = Array(n).fill(1)
// 자신을 제외한 왼쪽 요소의 곱 계산
let leftAcc = 1
for(let i = 0; i < n; i++) {
result[i] = leftAcc
leftAcc *= nums[i]
}
// 자신을 제외한 오른쪽 요소의 곱 계산
let rightAcc = 1
for(let i = n - 1; i >= 0; i--) {
result[i] *= rightAcc
rightAcc *= nums[i]
}
// 자신을 제외한 요소의 곱(자신의 왼쪽 요소의 곱의 합계 * 자신의 오른쪽 요소의 곱의 합계)
return result
};