알고리즘
[프로그래머스] 예상 대진표
hminor
2023. 6. 9. 11:40
반응형
# 내가 푼 방식 (시간이 좀 걸림...)
def solution(n,a,b):
li = [i+1 for i in range(n)]
cnt, flag = 0, False
while True:
cnt += 1
new_li = []
for i in range(len(li)//2):
if li[i*2] in [a,b] and li[i*2+1] in [a,b]:
flag = True
break
elif li[i*2] in [a,b]: new_li.append(li[i*2])
else : new_li.append(li[i*2+1])
li = new_li
if flag: break
return cnt
# 좋게 느껴진 코드
def solution(n,a,b):
answer = 0
while a != b:
answer += 1
a, b = (a+1)//2, (b+1)//2
return answer