문제)
답안 코드)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
import sys
#sys.stdin=open("input.txt", "r")
def Count(len):#len으로 짜를 수 있는 총 갯수 리턴
cnt=0
for x in Line:
cnt+=(x//len)
return cnt
k, n=map(int, input().split())
Line=[]#길이 리스트
res=0#정답
largest=0#최대 값
for i in range(k):
tmp=int(input())
Line.append(tmp)
largest=max(largest, tmp)
lt=1
rt=largest#1~최대값 범위 지정
while lt<=rt:
mid=(lt+rt)//2
if Count(mid)>=n:#mid값으로 잘랐을 때 n보다 크다면(정답 가능일 때)
res=mid#정답에 넣고
lt=mid+1#더 긴 값으로 짜를 수 있는 지 탐색
else:#작다면
rt=mid-1
print(res)
|
cs |
'코딩테스트 with PYTHON' 카테고리의 다른 글
[python] 코딩테스트 대비 - 이분검색(일직선에 배치) (0) | 2022.01.28 |
---|---|
[python] 코딩테스트 대비 - 이분검색(최소 길이 구하기) (0) | 2022.01.14 |
[python] 코딩테스트 대비 - 이분검색(결정알고리즘) (0) | 2022.01.14 |
[python] 코딩테스트 대비 - 2차원 배열에서 회문 탐색 (0) | 2022.01.10 |
[python] 코딩테스트 대비 - 스토쿠 검사 (0) | 2022.01.10 |