Leta Learns

[모각코] 220727 Today I Learned 본문

HUFS/HUFS 모각코 캠프

[모각코] 220727 Today I Learned

leta 2022. 7. 27. 22:59

<백준 1654번 - 랜선 자르기>

 

이분탐색 문제인데 그냥 하나씩 감소시키는 걸로 했다가 시간초과 났다.

이분탐색 기본 코드에서 거의 변한 게 없어서 금방 풀 수 있었다.

 

import sys
input = sys.stdin.readline

k, n = map(int, input().split())
lan = [int(input()) for _ in range(k)]

s = 1
e = max(lan)

while s <= e:
    mid = (s + e) // 2
    cnt = 0
    for i in lan:
        cnt += i // mid
    if cnt >= n:
        s = mid + 1
    else:
        e = mid - 1

print(e)

 

시간초과난 코드는

2022.07.27 - [Coding/백준] - [Python] 백준 1654번 - 랜선 자르기  여기서 볼 수 있음

 

[Python] 백준 1654번 - 랜선 자르기

문제 https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상.

letalearns.tistory.com

 

Comments