Skip to content
Gyunseo's Blog
Go back

Binary Search Algorithm

Suggest Changes

Table of contents

Open Table of contents

python 코드

import sys
import random
from typing import List, Final

input = sys.stdin.readline
LIST_SIZE: Final[int] = 1_000
random_numbers: List[int] = sorted(random.randint(0, 100) for _ in range(LIST_SIZE))


def binary_search(target: int) -> int:
    s: int = 0
    e: int = len(random_numbers) - 1
    while s <= e:
        mid: int = (s + e) // 2
        if random_numbers[mid] == target:
            return mid
        if random_numbers[mid] < target:
            s = mid + 1
            continue
        if random_numbers[mid] > target:
            e = mid - 1
            continue
    return -1


if __name__ == "__main__":
    iteration_trigger: bool = True
    while iteration_trigger:
        user_input = input().rstrip()
        if user_input == "q" or user_input == "Q":
            iteration_trigger = False
            continue
        target_num: int = int(user_input)
        print(f"{target_num}의 index: {binary_search(target_num)} (-1이면 해당 숫자가 없음)")

How to Run

python version: 3.11.6

Run main.py

pip install pipenv
pipenv --python 3.11.6
pipenv run python3 main.py

Input

찾으려는 정수값

Output

해당 정수의 인덱스값

Execution Image


Suggest Changes
Share this post on:

Previous Post
AVL Tree
Next Post
Topological Sort Algorithm