suyeonjang05   2년 전

오름차순으로 정리하고 합이 m보다 크면 숫자를 하나씩 내리는 방법으로 썼습니다.

왜 틀렸는지 도저히 모르겠어서.. 도와주시면 감사하겠습니다 ㅠ ㅅ ㅠ 

dbgmlwns   2년 전

for(int i=0; i<n; i++){
            hap = a[i+1]+a[i+2]+a[i+3];

이 부분에서 i가 n-1이 되었을 때 배열에 들어가는 값은  a[n], a[n+1], a[n+2] 이렇게 들어가면서 초과하게 됩니다

그리고 코드가 한 단계씩 옆으로 비교를 해 나가면

만약에  

5 21

10 9 5 4 2

의 최대값은 21인데 18이 나오게 됩니다

범위가 작으니까 약간 하나씩 비교하는 무식한 방법을 사용해도 괜찮을 듯 합니당

suyeonjang05   2년 전

아 3개 카드가 꼭 연속될 필요는 없는데 이걸 간과하고 있었네여ㅜㅜ

알려주셔서 감사합니다 !!

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