https://www.acmicpc.net/problem/20551
from bisect import bisect_left
import sys
N,M = map(int,sys.stdin.readline().split())
A = [ int(sys.stdin.readline()) for _ in range(N) ]
A.sort()
D = [ int(sys.stdin.readline()) for _ in range(M) ]
for i in D:
ans = bisect_left(A,i)
if ans >= N:
print(-1)
elif A[ans]==i:
print(ans)
else:
print(-1)
처음엔 while 반복문으로 문제를 풀고 예제입력 1을 통과했는데 예제입력 2에서 막혔다.
예제입력2는 동일원소가 나올때 가장 작은 인덱스값을 출력하는건데
이것을 보자마자 bisect
라이브러리가 생각났다.