benscience   2년 전

아래 코드 틀림 처리되고

else문을 지우고  14라인에  sum>=M으로 고치니 맞음 처리되는데

무슨 차이인지 설명좀 해주세요 ㅠㅠ

naracar12   2년 전

while 안에 for 루프에서 sum이 M이상이 되면 중단하도록 짠게 원인인듯 싶습니다.

잘린 나무의 총 합이 M이상이 되면 자르던 행위를 중간에 멈추는데, while 루프에서 else가 없으면 수정된 값(start=mid+1)으로 탐색을 다시 시작합니다. 하지만 else로 break을 해주면 탐색하던 중의 mid값이 최종결과물이다 라고 제출하는데, 그 mid값은 나무를 자르다가 중간에 멈췄을 때의 값이므로 정답이 아닐 수 있습니다.

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