
😎풀이
- 너비 우선 탐색을 수행하며 해당 계층에 존재하는 요소의 평균을 구함
- 각 계층의 평균 값이 담긴 배열 반환
function averageOfLevels(root: TreeNode | null): number[] {
const average = []
const queue = [[root]]
while(queue.length) {
const queueNodes = queue.shift()
const nextNodes = []
let curSum = 0
for(const currNode of queueNodes) {
curSum += currNode.val
if(currNode.left) nextNodes.push(currNode.left)
if(currNode.right) nextNodes.push(currNode.right)
}
average.push(curSum / queueNodes.length)
if(nextNodes.length) queue.push(nextNodes)
}
return average
};