예상 대진표

bird.j·2021년 10월 12일
0

프로그래머스

목록 보기
34/53

프로그래머스

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

각각의 수를 2로 나눴을 때의 몫, 나머지, 합을 구해보면 다음과 같은데

나머지
1011
2101
3112
4202
5213
6303
7314
8404

이렇게 합이 같은 것 끼리 만난다는 것을 알 수 있다.
따라서 a와 b가 같아질 때까지 2로 나눈 몫과 나머지의 합을 구해보면 된다.

0개의 댓글