[JAVA]백준 2805: 나무 자르기
백준 2805: 나무 자르기
Link: https://www.acmicpc.net/problem/2805
풀이
- 이분 탐색을 이용하여야 함.
- 나무 높이의 중앙값을 구한다.
- 중앙값까지 잘랐을 때 얻을 수 있는 나무의 양을 보고
- 많다면 나무를 덜 잘라야 하므로 중앙값+1을 최솟값으로
- 적다면 나무를 더 잘라야 하므로 중앙값을 최댓값으로
- 최솟값이 최댓값보다 작은 동안 반복
- 최솟값이 최댓값보다 크거나 같아지면 중앙값 -1 반환
- 나무의 최대 길이가 10억이므로 값이 더해지는 변수는 long을 사용하여야 함.
Issue
- 구현 및 시뮬레이션 문제만 풀다보니 단순 탐색 문제가 어렵게 느껴지는 것 같음.
- 다양한 문제를 풀어볼 것.
Leave a comment