[백준/파이썬] 19637번

민정·2023년 12월 26일
0

[백준/파이썬]

목록 보기
205/245
post-thumbnail

📍백준 19637번 문제

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

코드

import sys
input = sys.stdin.readline
n, m = map(int, input().split())
kind = []
for _ in range(n):
    a, b = map(str, input().split())
    kind.append([a, b])
kind.sort(key=lambda x: int(x[1]))
arr = []
for _ in range(m):
    arr.append(int(input()))
for i in arr:
    r = len(kind)
    l = 0
    res = 0
    while l <= r:
        m = (l+r)//2
        if int(kind[m][1]) >= i:
            res = m
            r = m-1
        else:
            l = m+1
    print(kind[res][0])

풀이

이분탐색 어려워...
개념은 아는데 이걸 풀이에 적용시키는게 어렵다...ㅠ_ㅠ
특정 숫자가 포함된 부분을 찾는게 중요!

profile
パㅔバ6ㅇr 덤벼ㄹΓ :-0

0개의 댓글