programmers | Lv2. 예상 대진표 [Python]

yeonk·2022년 3월 15일
0

algorithm

목록 보기
73/88
post-thumbnail

💡 Python 3






🔗 문제

예상 대진표 [Link]






💻 코드

def change_num(k):
    from math import ceil
    if k % 2 == 0: return k//2  
    else: return ceil(k/2) 
    
def solution(n,a,b):
    count = 0
    while True:
        count += 1
        if (a+b) % 4 == 3 and abs(a-b) == 1: return count
        else: a, b = change_num(a), change_num(b)






💥 다른 사람 코드

def solution(n,a,b):
    return ((a-1)^(b-1)).bit_length()
  • a, b는 각각 선수의 위치이고 이를 2비트 수로 표현했을 때 a, b가 인접한 위치로 가려면, 두 비트가 같을 때는 0을 더하고 두 비트가 다를 때는 1을 더하는 XOR 연산

0개의 댓글