흙금이네 블로그

[BOJ] 19637 - IF문 좀 대신 써줘 (Python) 본문

알고리즘

[BOJ] 19637 - IF문 좀 대신 써줘 (Python)

흙금 2023. 3. 17. 23:12

 

 

아이디어

 

이분 탐색으로 전투력에 맞는 칭호를 찾는다.

 

 

풀이

 

import sys

input = sys.stdin.readline

def solution():
    N, M = map(int, input().split())
    names = []
    for _ in range(N):
        name, upper = input().split()
        upper = int(upper)
        if names and names[-1][1] == upper:
            continue
        names.append((name, upper))
    N = len(names)
    for _ in range(M):
        power = int(input())
        s = 0
        e = N-1
        while s <= e:
            m = (s+e)//2
            if names[m][1] > power:
                e = m-1
            elif names[m][1] < power:
                s = m+1
            else:
                s = m
                break
        print(names[s][0])

solution()

 

Comments