본문 바로가기
PS/백준

[테스트케이스 추가] 백준 1654번: 랜선 자르기 python, 파이썬

by 지기_ 2021. 7. 20.
반응형

1. 문제

https://www.acmicpc.net/problem/1654

 

1654번: 랜선 자르기

첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그

www.acmicpc.net

 

 

2. 풀이

binary search

 

 

3. 구현

import sys
# sys.stdin = open('input.txt')

k,n = map(int, sys.stdin.readline().split())
lis=[]
while k:
    k-=1
    lis.append(int(sys.stdin.readline()))

le = 1
ri = max(lis)

while le<=ri:
    mid = (le+ri)//2
    total=0
    for item in lis:
        total+=(item//mid)
    if total<n:
        ri=mid-1
    else:
        le=mid+1
print(ri)

 

 

 

4. 테스트케이스 정리

@ nahwasa

2 3
3
2

답: 1

 

@flyjb  님

1 1
2147483647

답: 2147483647

 

@leessunny95 님

5 5
1
1
1
1
1

답: 1

 

4 4
2
1
2
1

답: 1

 

3 6
40
20
1

답: 10

반응형

댓글