✏️ 문제
문제 파악
이분 탐색을 사용해서 풀어야 하는 전형적인 문제! 값이 같으면 해당 인덱스를 바로 출력하는 방식으로 코드를 짜면 된다.
알고리즘
- 자료 구조
- 정렬
- 이분 탐색
코드
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
a = [int(input()) for i in range(n)]
a.sort()
for i in range(m):
num = int(input())
index = n
start, end = 0, n-1
while start <= end:
mid = (start+end) // 2
if a[mid] < num:
start = mid + 1
elif a[mid] == num:
index = min(index, mid)
end = mid - 1
else:
end = mid - 1
print(-1 if index >= n else index)
'PS > 백준' 카테고리의 다른 글
[Python] 1343번 폴리오미노 (0) | 2024.08.24 |
---|---|
[Python] 2468번 안전 영역 (0) | 2024.08.21 |
[Python] 5014번 스타트링크 (0) | 2024.08.20 |
[Python] 18352번 특정 거리의 도시 찾기 (0) | 2024.08.20 |
[Python] 19939번 박 터뜨리기 (3) | 2024.08.18 |