alahoon   4년 전

어떤 부분이 틀린건지 모르겠습니다. 도움 부탁드립니다. 

또한, 적절한 방법이 생각나지 않아, 모든 케이스를 반복문으로 확인하는 방식으로 구현해보았습니다.

더 효율적인 방식이 분명 있을것 같은데, 알려주시면 감사하겠습니다. 

ha_ram   4년 전

52번째 줄때문에 틀립니다.

max에 현재 들어있는 값과 sum중에 큰값이 들어가야 합니다.

alahoon   4년 전

오름차순으로 정리되어 있기 때문에, sum이 목표값보다 크지 않으면 max로 처리하는 방식을 사용하였습니다. 굳이 max에 현재 들어있는 값과 비교하지 않아도 되도록요.

ha_ram   4년 전

정렬되어있다고 sum값이 항상 이전 sum값보다 크지 않습니다.

예를들어 num이 5일때 i, j, k값이

(0,1,2) (0,1,3) (0,1,4) (1,2,3) (1,2,4) (2,3,4) 이렇게 변하는데

여기서 (1,2,3)의 sum값이 (0,1,4)의 sum값보다 항상 크다는 보장이 없습니다.

52번째 줄을 if(max < sum) max = sum; 으로 바꾸세요

그리고 처음에 sum과 max 초기화가 안되어있어서 틀립니다.

12번째 줄과 13번째 줄에 sum과 max를 선언할 때 0으로 초기화해주세요

alahoon   4년 전

와 그렇네요 정말 멍청했습니다 감사합니다!!

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