나의 답안 - 시간 초과
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
'코딩 테스트 (Coding Test)' 카테고리의 다른 글
[프로그래머스] 멀리 뛰기 - 파이썬 풀이 (0) | 2023.01.17 |
---|---|
[프로그래머스] 점프와 순간 이동 (0) | 2023.01.17 |
[프로그래머스] *N개의 최소공배수 (0) | 2023.01.17 |
[프로그램스] 영어 끝말잇기 (0) | 2023.01.17 |
[프로그래머스] 짝지어 제거하기 (0) | 2023.01.17 |