임의의 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 |