반응형

 

문제

 


문제 설명

 

토너먼트 형식으로 진행
 a번 참가자와 b번 경쟁자와 몇 번째 라운드에서 만나는지?
 n : 게임 참가자 수
 a : 참가자 번호
 b : 경쟁자 번호

 

 


코드

import math

def solution(n,a,b):
    
    round = 1

    while True:
        # a, b번 참가자가 그 다음 라운드에서는 몇번인지?
        a = math.ceil(a/2)
        b = math.ceil(b/2)
        
        # 같을 경우 서로가 경쟁자이다.
        if a == b:
            return round
        
        # 라운드를 1개 올린다
        round += 1    
        
    # 정상적인 경우에는 위에서 return 되어야 한다.
    round = -1
    return round

 

 

 

 

 

 


반응형
복사했습니다!