[알고리즘] 프로그래머스 - 예상 대진표
내 풀이
def solution(n,a,b):
arr1 = [i for i in range(1, n+1)]
result = []
index = 0
count = 1
while True:
while index < len(arr1):
if arr1[index] == a and arr1[index+1] == b or arr1[index] == b and arr1[index+1] == a:
return count
exit()
elif arr1[index] == a or arr1[index+1] == a:
result.append(a)
index += 2
elif arr1[index] == b or arr1[index + 1] == b:
result.append(b)
index += 2
else:
result.append(arr1[index])
index += 2
arr1 = result[:]
result = []
index = 0
count += 1
return 0
직접 시뮬레이션 하면서 구현한 것이다.
다른 사람 풀이
def solution(n,a,b):
count = 0
while a != b:
a = (a+1) // 2
b = (b+1) // 2
count += 1
return count
print(solution(8, 4, 7), 3)
Author And Source
이 문제에 관하여([알고리즘] 프로그래머스 - 예상 대진표), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@injoon2019/알고리즘-프로그래머스-예상-대진표저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)