juhyun16   5달 전

2805 나무자르기 문제 이분탐색으로 풀어야 하는 것으로 알고 있습니다.

시간초과가 나서 어떤부분을 개선해야할지 잘 몰라서 질문드립니다.

처음에 재귀함수로 코드를 짰다가 무한반복문으로 고쳤구요,, 그래도 안되네요..

//////////////////////////////////////////////////////////////////////////////////////////////

아래의 코드에서 arr[2] 부분이 잘 이해안가실 것 같아서 설명 덧붙이겠습니다.

잘린 나무조각들의 합(sum)이 M 보다 크면 arr[0]에 sum 값을 저장합니다.

잘린 나무조각들의 합(sum)이 M보다 작으면 arr[1]에 sum값을 저장합니다.

이렇게 해서 upper_bnd - lower_bnd == 1 이라는 if문 내부로 진입하면....

arr[0]에는 절단기에 설정한 높이가 lower_bnd 일 때 나무조각들의 합이 저장되어있고

arr[1]에는 절단기에 설정한 높이가 upper_bnd 일 때 나무조각들의 합이 저장되어있습니다.

/////////////////////////////////////////////////////////////////////////////////////////////////////////

제 코드 지적 해주시면 감사하겠습니다~

ntopia   5달 전

upper_bnd 와 lower_bnd 의 값이 같으면 무한루프를 돕니다

juhyun16   5달 전

ntopia 님 답변 감사합니다. 덕분에 문제 해결했습니다.

(제가 다른과목 프로젝트 때문에 답변 확인이 많이 늦었네요. 죄송합니다.)

댓글을 작성하려면 로그인해야 합니다.