Python/이분탐색
99클럽 코테 스터디 2일차 TIL + 백준 1654 랜선 자르기 (파이썬)
유일리
2025. 1. 14. 14:18
※ 1654 랜선 자르기
https://www.acmicpc.net/problem/1654
문제 해결 TIP
처음에 반복문으로 max(랜선길이)까지 탐색하다가 시간 초과 이슈 발생..이분 탐색으로 바꿨더니 성공했다.
전체 코드
K, N = map(int,input().split())
length = []
for i in range(K):
length.append(int(input()))
start = 1
end = max(length)
while start <= end:
mid = (start+end)//2
count = 0
for i in length:
count += i//mid
if count >= N:
start = mid + 1
else:
end = mid - 1
print(end)
- 비기너 문제 : 그대로 출력하기 2 https://www.acmicpc.net/problem/11719
- 미들러 문제 : 랜선 자르기 https://www.acmicpc.net/problem/1654
- 챌린저 문제 : 가사 검색 https://school.programmers.co.kr/learn/courses/30/lessons/60060