문제
다음 Python 코드의 출력 결과로 가장 적절한 것은?
① 13 ② 3 ③ 33 ④ 26
정답
1번
해설
정답: 1. calc는 홀수 레벨의 노드 값만 더한다. 루트 3은 레벨 0이라 제외되고, 레벨 1의 값 5와 8이 더해져 13이 출력된다.
오답 풀이
- 1번: 홀수 레벨 값 5와 8의 합이다.
- 2번: 루트 값만 계산한 값이다.
- 3번: 일부 자식 노드까지 잘못 포함한 값이다.
- 4번: 짝수 레벨 또는 전체 합 일부를 혼동한 값이다.
보충 개념
완전 이진트리 배열 표현에서 인덱스 i의 부모는 (i-1)//2이다. 재귀 함수의 level 값이 어떤 노드를 포함할지 결정한다.