[백준:13116] 30번 (LCA)

Hunter Joe·2024년 12월 6일
0

백준

목록 보기
2/2

완전 이진 트리의 특성을 이해하면 쉽게 풀리는 문제 같다.
두 노드 A,B가 주어졌을 때 두 노드의 가장 가까운 부모노드를 찾는 문제였다.

A,B를 //연산자(몫)를 사용해서 나누다 보면
A,B가 같아지는 지점이 생긴다 (상위 부모노드에 도달 했다는 뜻)

코드는 아래와 같다.

import sys
input = sys.stdin.readline

t = int(input())

for _ in range(t):
  a, b = map(int, sys.stdin.readline().split())

  while True:
    if a == b:
      print(a * 10)
      break
    if a > b:
      a //= 2
    else:
      b //= 2
profile
Async FE 취업 준비중.. Await .. (취업완료 대기중) ..

0개의 댓글