Koala - 15기/코딩테스트 준비 스터디

[백준/python] 19637 : IF문 좀 대신 써줘

ㄱㅈㅅㅇ 2024. 7. 27. 17:28

19637번: IF문 좀 대신 써줘 (acmicpc.net)

단순 구현 -> 시간 초과

이진 탐색 코드로 제출 -> 시간 초과

뭐가 문젠가 했더니 입력받는 코드를 바꿔줬더니 통과됨

# 반복문으로 여러 번 입력받을 시 input() 대신 sys,stdin.readline()을 꼭 쓰자

# 각 캐릭터의 칭호를 찾을 때 이진 탐색
import sys
input = sys.stdin.readline
n,m=map(int,input().split())
level = []
for _ in range(n):
    a, b = list(input().split())
    level.append((a, int(b)))

def ubound(x):
    left = 0
    right = n-1
    
    while left<right:
        mid = (left + right) // 2
        
        if x <= level[mid][1]:
            right = mid 
        else:
            left = mid+1
    return level[left][0]

for _ in range(m):
    x = int(input())
    
    print(ubound(x))