Adventure Time - Finn 3
본문 바로가기
코테연습/python

이분검색

by hyun9_9 2026. 4. 16.

임의의 N개의 숫자가 입력으로 주어집니다. N개의 수를 오름차순으로 정렬한 다음 N개의 수 중 한 개의 수인 M이 주어지면 이분검색으로 M이 정렬된 상태에서 몇 번째에 있는지 구하는 프로그램을 작성하세요. 단 중복값은 존재하지 않습니다

import sys
# sys.stdin=open("input.txt","rt")
n,m = map(int,input().split())
# n = int(input())
arr = list(map(int,input().split()))
# n = input()
# arr = [list(map(int,input().split())) for _ in range(n)]
s = sorted(arr)
lt = 0
rt = n-1



while lt <= rt:
    mid = (lt+rt)//2
    if s[mid] == m:
        print(mid+1)
        break
    elif s[mid] > m:
        rt = mid-1
    else:
        lt = mid+1

'코테연습 > python' 카테고리의 다른 글

뮤직비디오(결정알고리즘)  (0) 2026.04.18
랜선자르기(결정알고리즘)  (0) 2026.04.16
격자판 회문수  (0) 2026.04.15
스토쿠 검사  (0) 2026.04.15
봉우리  (0) 2026.04.14