Algorithm

[이진 탐색] 백준-20551 Sort 마스터 배지훈의 후계자 실버4 (Python)

차노도리 2023. 4. 19. 19:37

백준-20551 : Sort 마스터 배지훈의 후계자

https://www.acmicpc.net/problem/20551

 

20551번: Sort 마스터 배지훈의 후계자

지훈이는 Sort 마스터다. 오랫동안 Sort 마스터 자리를 지켜온 지훈이는 이제 마스터 자리를 후계자에게 물려주려고 한다. 수많은 제자들 중에 후계자를 고르기 위해서 지훈이는 제자들에게 문제

www.acmicpc.net

 

풀의

  • 입력 받은 숫자들을 오름차순으로 정렬한다.
  • 2 탐색을 활용하여 가장 먼저 찾은 index 반환하고 없으면 -1 반환

코드 (Python)

import sys
import bisect

def input():
    return sys.stdin.readline().rstrip()

n, m = map(int, input().split())

numbers = [int(input()) for _ in range(n)]
numbers.sort()
quizs = [int(input()) for _ in range(m)]

for target in quizs:
    result = bisect.bisect_left(numbers, target)
    if(result>=n or numbers[result] !=target):
        print(-1)
    else:
        print(result)