프로그래머스. Level 2. 예상 대진표 파이썬 풀이
문제링크 https://programmers.co.kr/learn/courses/30/lessons/12985
def solution(n,a,b):
answer = 0
while 1:
# 라운드 +1
answer += 1
if a < b:
# 같은 라운드를 확인하는 알고리즘
# a+1이 b와 같고, 2로 나눈 몫이 다르다면 같은 라운드에 있다.
if (a+1) == b and a//2 != b//2:
return answer
else:
if (b+1) == a and a//2 != b//2:
return answer
# 다음 번호를 할당하는 알고리즘
# 짝수라면 그냥 2를 나누고, 홀수라면 1을 더하고 2로 나눈다.
if a % 2 == 0:
a = a/2
else:
a = (a+1)/2
if b % 2 == 0:
b = b/2
else:
b = (b+1)/2