본문 바로가기
코딩테스트

[파이썬] 예상 대진표 - 2017 팁스타운 [CODING TEST #38]

by ALTERww 2022. 8. 3.
320x100

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

 

 

찾고 싶은 결과의 수가 붙어 있는 홀,짝수이면서 짝수가 더 큰 경우 ex) 5,6 처럼 정해져 있고, 다음 대진 수를 결정하는 방법도 간단하니 직접 계산하기로 했다.

a와 b를 2로 나누면서 루프를 돌기 때문에 최악의 수여도 최대 20회밖에 돌지 않음.

 

import math
def solution(n,a,b):
    answer = 0
    count = 1
    while True:
        if abs(a - b) == 1: # a와 b와 1 차이 CHECK.
            if a > b and a%2==0 and b%2==1: 
                return count
            elif a < b and a%2==1 and b%2==0: 
                return count   
        # 다음 대진으로.       
        a = math.ceil(a/2) 
        b = math.ceil(b/2)
        count += 1

댓글