[프로그래머스 파이썬] 예상 대진표

일단 해볼게·2023년 3월 17일
0

프로그래머스

목록 보기
57/106

https://school.programmers.co.kr/learn/courses/30/lessons/12985

def solution(n,a,b):
    cnt = 0
    while True:
        if a == b:
            break
        
        if a % 2 == 0: # 짝수 
            a = a // 2
        elif a % 2 == 1: # 홀수
            a = a // 2 + 1
        
        if b % 2 == 0: # 짝수
            b = b // 2
        elif b % 2 == 1: # 홀수
            b = b // 2 + 1
        
        cnt += 1

    return cnt

짝수인 경우와 홀수인 경우를 나눠서 계산했다.

다른 사람 답

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

    return answer

a, b가 홀수이건 짝수이건 1을 더해서 몫으로 나누면 다음 라운드의 번호를 구할 수 있다.

profile
시도하고 More Do하는 백엔드 개발자입니다.

0개의 댓글