[백준] 2805 .Python

조청유과·2023년 4월 10일
0

BOJ

목록 보기
2/128

문제

답안제출

  • 최대값을 역순으로 만들어서 빈도수만큼 반복해서 나무를 자르고 필요한 나무를 cnt로 추가했다.

문제점

  • 나무를 1씩 자르기 때문에 목표치가 1억이라면 약 1억번 반복해야 한다. -> 시간 초과

해결방법

  • 이진 탐색으로 임의의 목표치를 짚어서 나무길이가 목표치보다 초과하면 그만큼 잘라내서 cnt에 추가한다.
  • 목표치보다 나무길이가 낮으면 목표치를 낮춰서 다시 탐색한다. 만약 성공할 경우, while문을 빠져나와서 마지막으로 설정된 목표치를 출력한다.

12번 코드는 확인용으로 출력한 거

0개의 댓글

관련 채용 정보