IF문 좀 대신 써줘 - 실버 3 (백준, 이분탐색)
2023. 1. 18. 16:44ㆍ코딩 테스트 준비
728x90
반응형
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
powerList = []
nameList = []
for i in range(n):
name, power = input().split()
power = int(power)
if powerList and powerList[-1] == power: # 가장 처음 칭호만 저장해주기 위해
continue
powerList.append(power)
nameList.append(name)
def binary_search(p):
left = 0
right = len(powerList) - 1
while left <= right:
mid = (left + right) // 2
if p > powerList[mid]:
left = mid + 1
else:
right = mid - 1
print(nameList[right+1])
mList = []
for _ in range(m):
p = int(input())
binary_search(p) # 이분탐색
이분탐색에 대해 생각을 제대로 안 해봤는데 익숙해질때까지 문제 푸는 리스트에 추가해둬야겠다.
테크닉을 잊지말자.
728x90
반응형
'코딩 테스트 준비' 카테고리의 다른 글
01타일 - 실버 3 (백준 , DP) (0) | 2023.01.18 |
---|---|
NBA 농구 - 실버 3 (백준, 구현) (2) | 2023.01.18 |
유기농 배추 - 실버 2 (백준, DFS/BFS) BFS만 (0) | 2023.01.18 |
영단어 암기는 괴로워 - 실버3 (백준, 문자열) (0) | 2023.01.18 |
성적평균 - level3 (소프티어, 구현) (0) | 2023.01.16 |