ror_coding

[Programmers] 예상 대진표 - 12985 본문

Algorithm/Python

[Programmers] 예상 대진표 - 12985

ro_rdil_31 2024. 10. 31. 23:48
728x90

나누기해서 round()를 사용하지 않고 (a+1)//2 처럼 반올림과 같은 효과를 내기.

 

Question

 

처음 라운드에서 A번을 가진 참가자는 경쟁자로 생각하는 B번 참가자와 몇 번째 라운드에서 만나는지 궁금해졌습니다. 게임 참가자 수 N, 참가자 번호 A, 경쟁자 번호 B가 함수 solution의 매개변수로 주어질 때, 처음 라운드에서 A번을 가진 참가자는 경쟁자로 생각하는 B번 참가자와 몇 번째 라운드에서 만나는지 return 하는 solution 함수를 완성해 주세요. 단, A번 참가자와 B번 참가자는 서로 붙게 되기 전까지 항상 이긴다고 가정합니다.

 

 

Code

 

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

 

now me

On my github

 

728x90