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

yewon Lee·2023년 9월 18일
0


😎코딩테스트 연습>2017 팁스타운>예상 대진표


📘 문제 풀이

import math

def solution(n,a,b):
    answer = 0
    a, b = min(a,b), max(a,b)
    
    while 1:
        answer += 1
        
        if a%2 != 0 and b%2 == 0 and a+1 == b:
            break
        
        a = math.ceil(a/2)
        b = math.ceil(b/2)
    
    return answer
다음 라운드에 진출할 사람은 n/2번이 된다는 것에 힌트를 얻어서 풀었다. 
처음에는 a는 홀수이고 b는 짝수가 되어야 한다는 조건을 넣지 않아 실패가 떴다.
n =  8, a = 4, b = 5일 때는 맞지 않기 때문에 그 조건이 반드시 들어가야 한다.
profile
시작

0개의 댓글