codility - TapeEquilibrium 정답 및 해설
뿌리튼튼 CS/Algorithm2017. 6. 6. 22:31
난이도 ★★☆☆☆
문제 요약
두 구간으로 쪼갰을 때, 구간별 합의 차가 가장 적은 곳 찾기 |
힌트
구간별 합을 미리 구해놓아서 중첩for문 없애기 |
이하는 코드입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | public int solution(int[] A) { int sum_fromFirst = 0; int sum_toLast = 0; for (int i = 0; i < A.length; i++) { sum_toLast += A[i]; } int minDiff = Integer.MAX_VALUE; for (int p = 1; p < A.length; p++) { sum_fromFirst += A[p - 1]; sum_toLast -= A[p - 1]; int diff = Math.abs(sum_fromFirst - sum_toLast); if (diff < minDiff) { minDiff = diff; } } return minDiff; } | cs |
'뿌리튼튼 CS > Algorithm' 카테고리의 다른 글
codility - FrogRiverOne 정답 및 해설 (0) | 2017.06.06 |
---|---|
codility - PermCheck 정답 및 해설 (0) | 2017.06.06 |
codility - FrogJmp 정답 및 해설 (0) | 2017.06.06 |
codility - PermMissingElem 정답 및 해설 (0) | 2017.06.06 |
codility - CyclicRotation 정답 및 해설 (0) | 2017.06.06 |