나의 풀이
def binary_search(data, target):
data.sort()
start = 0
end = len(data) - 1
arr = []
while start <= end:
mid = (start+end)//2
arr.append(mid+1)
if data[mid] == target:
return arr
elif data[mid] < target:
start = mid + 1
else:
end = mid - 1
import sys
for i in sys.stdin:
if int(i) == 0:
break
print(*binary_search([i for i in range(1,51)],int(i)))
CODE REVIEW
이분 탐색
을 연습할 수 있는 괜찮은 문제. 이분 탐색 과정에서 mid로 사용하는 요소가 몇번째인지 출력해야했다.- 재귀를 활용한 이분 탐색 구현 방법을 공부하고 이 문제를 다시 풀어봐야겠다.