본문 바로가기
Beakjoon&프로그래머스/파이썬

[백준/파이썬] 19637번 IF문 좀 대신 써줘

by 현장 2022. 5. 19.

-Code

import sys
input = sys.stdin.readline

n, m = map(int, input().split())
IF = [input().split() for _ in range(n)]
for _ in range(m):
    num = int(input())
    left, right = 0, n
    while left < right:
        mid = (left + right) // 2
        if int(IF[mid][1]) >= num:
            right = mid
        else:
            left = mid + 1
    print(IF[right][0])

처음에 못 풀었던 문제여서 분류를 보니 이분 탐색이어서 이분 탐색으로 풀다가 mid를 출력하는 것에서 막혀서 해당 부분만 찾아서 해결을 했습니다. 또한 sys입력을 사용하지 않으면 시간 초과가 발생합니다.