나의 답안 - 시간 초과

def solution(n,a,b):
    answer = 1
    data = [i for i in range(1, n + 1)]
    
    while True:
        tmp = []
        
        for i in range(0, len(data), 2):
            if data[i] == a and data[i + 1] == b:
                return answer
            if data[i] in [a, b]:
                tmp.append(data[i])
            elif data[i + 1] in [a, b]:
                tmp.append(data[i + 1])
            else:
                tmp.append(-1)
                
        data = tmp
        answer += 1

 

답안 예시

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

 

+ Recent posts