이 책을 어제부터 읽고있는데 ㅋㄷㅅㅌㅇㅊ ㄱㅂ 지원 문제 중 하나가 이진 탐색을 말로 풀어 썼다는 사실을 알게 되었다.
0에서 100까지의 숫자중 하나를 찾는 이진 탐색이라면
총횟수는 log₂101 겠지...? 한번 파이썬으로 조잡하게 짜보았다(맞는지는 모름)
(왜이렇게 더럽나요? 죄송) 아마 이렇게 리스트에 넣지않고할것같지만 ...
더보기
li=[]
for i in range(0,101):
li.append(i)# 0부터 100까지의 리스트 만들기...
a=int(input('1~100 사이의 숫자를 입력해주세요'))#숫자입력받기
count=0
while len(li)!=1:
if a>(li[int(len(li)/2)]):
li=li[int((len(li)/2)): ]
count+=1
elif a<(li[int(len(li)/2)]):
li=li[0:int((len(li)/2))]
count+=1
else:
count+=1
break
if len(li)==1:
print('혹시 입력하신 숫자가',li[0],'인가요?^^')
print('총 횟수는',count)
else:
print('혹시 입력하신 숫자가',li[int(len(li)/2)],'인가요?^^')
print('총 횟수는',count)
'Js&React 실습' 카테고리의 다른 글
220330 (0) | 2022.03.30 |
---|---|
220211 오늘들을것 (0) | 2022.02.11 |
정말 개발일지는 부지런해야 쓰는구나 (0) | 2022.02.08 |
백준 실버1이 되었다 (0) | 2021.12.13 |