링크 : https://www.acmicpc.net/problem/2343
2343번: 기타 레슨
강토는 자신의 기타 강의 동영상을 블루레이로 만들어 판매하려고 한다. 블루레이에는 총 N개의 강의가 들어가는데, 블루레이를 녹화할 때, 강의의 순서가 바뀌면 안 된다. 순서가 뒤바뀌는 경
www.acmicpc.net
- 문제
- 소요시간: 9분 구현(21분 성공)


- 설계하기(접근방법)
1. 입력받기
강의 개수와 블루레이 최소개수
강의 크기를 입력받는다
2. 구현하기
정렬된 리스트를 보면 알 수 있는 점이
이분 탐색을 진행해주는 문제다
최소값을 max(lec_list)
최대값을 sum(lec_list)로 잡은후
이분 탐색을 진행하여 최소 블루레이 크기를 찾는다
3. 출력하기
최소 블루레이를 출력해준다
- 코드(출력)
total, target = map(int, input().split())
lec_list = list(map(int, input().split()))
start = max(lec_list)
end = sum(lec_list)
while start <= end:
mid = (start + end) // 2
cnt = 1
length = 0
for i in lec_list:
if length + i > mid:
length = 0
length += i
cnt += 1
else:
length += i
if cnt > target:
start = mid + 1
else:
end = mid -1
print(start)
- 얻어갈 부분
1. start 값을 또 틀려서 디버깅에 10분을 사용했다. 틀렸다면 start, end값을 최우선적으로 조정하고 그 후 cnt나 부등호를 살펴보자
'알고리즘(백준) > 이분탐색' 카테고리의 다른 글
| [알고리즘/이분 탐색] 1654번 : 랜선 자르기 - python (1) | 2024.02.10 |
|---|---|
| [알고리즘/이분 탐색] 6236번 : 용돈 관리 - python (0) | 2024.02.10 |
| [알고리즘/이분 탐색] 2805번 : 나무 자르기 - python (1) | 2024.02.10 |