프로그래머스/LV2

[프로그래머스 Lv2,python]- 예상대진표

chyam_eun 2024. 12. 31. 10:07

def solution(n,a,b):
    cnt=1 #1번은 고정으로 대결하는것
    while(1):
        if(a//2+a%2!=b//2+b%2): # 싸움번호가 같지 않을때 
            a=a//2+a%2  # 1번 2번은 1이나오고, 3번 4번은 2가 나와야함.
            b=b//2+b%2 # 그래서 각각 2를 나눈 몫과 나머지를 더해줌
            cnt+=1
        else:
            return cnt

처음 성공한 풀이는 위이고, 아래는 조금 더 간편하게 표현한 풀이이다.

def solution(n,a,b):
    cnt=1
    while(1):
        if((a+1)//2!=(b+1)//2):
            a=(a+1)//2 # 1을 더한뒤 2를 나눠주면 같은 몫이 나오게됨
            b=(b+1)//2
            cnt+=1
        else:
            return cnt