BOJ2805

백준 2805: 나무 자르기

Link: https://www.acmicpc.net/problem/2805

풀이

  • 이분 탐색을 이용하여야 함.
    1. 나무 높이의 중앙값을 구한다.
    2. 중앙값까지 잘랐을 때 얻을 수 있는 나무의 양을 보고
    3. 많다면 나무를 덜 잘라야 하므로 중앙값+1을 최솟값으로
    4. 적다면 나무를 더 잘라야 하므로 중앙값을 최댓값으로
    5. 최솟값이 최댓값보다 작은 동안 반복
  • 최솟값이 최댓값보다 크거나 같아지면 중앙값 -1 반환
  • 나무의 최대 길이가 10억이므로 값이 더해지는 변수는 long을 사용하여야 함.

Issue

  • 구현 및 시뮬레이션 문제만 풀다보니 단순 탐색 문제가 어렵게 느껴지는 것 같음.
  • 다양한 문제를 풀어볼 것.

Leave a comment