본문 바로가기
스터디/알고리즘

예상 대진표

by 세졍 2024. 5. 30.

문제이해
N명의 참가자가 있고 A,B참가자의 번호가 있다 
경기는 토너먼트로 진행되고 1,2 3,4...이런식으로 붙을때 
A,B가 몇번째 라운드에서 만나게 될지구하기 (만나기 전까지 모든라운드에서 승리가정)

 

두명씩 경기를 할때 오른쪽에있는 사람이 N 번일때 기준으로 그라운드에서 

올라가는 사람의 번호는 N//2 가 되므로 

왼쪽 오른쪽 통일하려면 (그사람번호+1) // 2

def solution(n,a,b):
    answer = 0
    while a!=b:
        a = (a+1)//2
        b = (b+1)//2
        answer += 1
    return answer



n = 8
a = 4
b = 7
print(solution(n,a,b))

'스터디 > 알고리즘' 카테고리의 다른 글

미로 탈출  (0) 2024.05.31
다단계 칫솔 판매  (0) 2024.05.30
메뉴 리뉴얼  (0) 2024.05.28
신고 결과 받기  (0) 2024.05.28
오픈채팅방  (0) 2024.05.28