[백준] 20551번 Sort 마스터 배지훈의 후계자 - 파이썬/이진탐색

JinUk Lee·2023년 1월 27일
0

백준 알고리즘

목록 보기
29/78

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 라이브러리가 생각났다.

profile
개발자 지망생

0개의 댓글