1부터 32463의 수 중 하나인 n을 입력받고 1~32463의 범위에서 이진검색으로 n을 찾아라




부족했던 점
1.
변수이름이 기억이 안나서 binna로 했는데
first -> pl
last -> pr
binna -> pc
이렇게 고쳐줘야 할 것 같다.
2.
binna = int((first + last)/2)
binna =(first + last)//2
//는 그 연산 결과값을 int형으로 만들어준다.
다음에 더 구현하고 싶은것
1.
배열로 이진검색을 구현하고 싶고 선형검색의 보초법도 구현해보고 싶다.
더불어 같이 파이썬 코딩 스터디하고 있는 친구의 글도 공유하고자 한다.
파이썬, 이진검색
def a (n): pl = 1 pr = 32463 if n < pl or n > pr: print("숫자를 다시 입력 하세요") else: while True: pc = (pl + pr) / 2 if n < pc: pr = pc elif n > pc: pl = pc else: print(int(pc)) break a () 이진 검색이란 정해진 숫자열이나 문자
bonun.tistory.com
'코딩 > Python' 카테고리의 다른 글
| 코딩테스트 내장함수 유용한 것 모음 (0) | 2025.04.08 |
|---|---|
| 자료구조와 함께 배우는 알고리즘 입문 : 파이썬편 - 이진 검색 실습 (0) | 2023.01.14 |
| 자료구조와 함께 배우는 알고리즘 입문 : 파이썬편 - 03 검색 알고리즘 (0) | 2023.01.09 |
| 자료구조와 함께 배우는 알고리즘 입문 : 파이썬편 - 02 기본 자료구조와 배열 (0) | 2023.01.07 |
| 자료구조와 함께 배우는 알고리즘 입문 : 파이썬편 - 01 알고리즘 기초 (0) | 2023.01.07 |