# 3. APS/SWEA

SWEA # Python_D2_5176_이진탐색 (tree)

둥굴둥굴둥굴레차 2021. 4. 8. 23:19

 

🚣‍♀️ [문제]

N이 주어졌을 때 완전 이진 트리로 만든 이진 탐색 트리의 루트에 저장된 값과, N/2번 노드(N이 홀수인 경우 소수점 버림)에 저장된 값을 출력하는 프로그램을 만드시오.

 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

T = int(input())

def makingTree(n):
    global count

    if n <= N:
        # 왼쪽노드
        makingTree(n*2)

        tree[n] = count
        count += 1

        # 오른쪽 노드
        makingTree(n*2+1)


for tc in range(1, T+1):
    N = int(input())
    tree = [0 for i in range(N+1)]
    count = 1
    makingTree(1)
    print('#{} {} {}'.format(tc, tree[1], tree[N//2]))