2798번 - 블랙잭
오름차순으로 정리하고 합이 m보다 크면 숫자를 하나씩 내리는 방법으로 썼습니다.
왜 틀렸는지 도저히 모르겠어서.. 도와주시면 감사하겠습니다 ㅠ ㅅ ㅠ
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이 나오게 됩니다
범위가 작으니까 약간 하나씩 비교하는 무식한 방법을 사용해도 괜찮을 듯 합니당
아 3개 카드가 꼭 연속될 필요는 없는데 이걸 간과하고 있었네여ㅜㅜ
알려주셔서 감사합니다 !!
댓글을 작성하려면 로그인해야 합니다.
suyeonjang05 2년 전
오름차순으로 정리하고 합이 m보다 크면 숫자를 하나씩 내리는 방법으로 썼습니다.
왜 틀렸는지 도저히 모르겠어서.. 도와주시면 감사하겠습니다 ㅠ ㅅ ㅠ