탐색 (1) 썸네일형 리스트형 [백준/Python] 1654 랜선 자르기 K, N = list(map(int, input().split())) lan = [] for _ in range(K): lan.append(int(input())) left, right = 1, max(lan) while left = N: left = mid + 1 else: right = mid - 1 print(right) 유의했던 사항 1. 이분탐색을 사용한다 → 그러지 않으면 시간초과됨 풀이과정 1. left를 1, right를 max(lan)으로 설정 2. mid를 길이로 하여 각 랜선을 나눴을 때, 몇 개의 잘린 랜선이 생기는지 구함(cnt) 3. cnt와 N을 비교해서, cnt가 크면 left = mid -1, N이 크면 right = mid + 1 알게 된 것 1. 이분탐색 (Binary .. 이전 1 다음