codility - MinAvgTwoSlice 정답 및 해설
뿌리튼튼 CS/Algorithm2017. 6. 9. 00:43
난이도 ★★★☆☆
문제 요약
A배열을 slice한 자식배열 중 평균값이 최저인 경우를 찾고 그때의 시작 인덱스를 리턴하기 |
힌트
경우의수 혹은 아이디어 문제입니다. 평균값이 최저인 경우는 딱 2가지씩만 체크하면 됩니다 풀이법 링크 : http://disq.us/p/1dwms28 |
이하는 코드입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | public int solution(int[] A) { double minAvg = (A[0] + A[1]) / 2.0; int minStartIndex = 0; for (int i = 2; i < A.length; i++) { double avg = (A[i - 2] + A[i - 1] + A[i]) / 3.0; if (avg < minAvg) { minAvg = avg; minStartIndex = i - 2; } avg = (A[i - 1] + A[i]) / 2.0; if (avg < minAvg) { minAvg = avg; minStartIndex = i - 1; } } return minStartIndex; } | cs |
'뿌리튼튼 CS > Algorithm' 카테고리의 다른 글
codility - MaxProductOfThree 정답 및 해설 (0) | 2017.07.12 |
---|---|
codility - Distinct 정답 및 해설 (0) | 2017.07.12 |
codility - GenomicRangeQuery 정답 및 해설 (0) | 2017.06.09 |
codility - PassingCars 정답 및 해설 (0) | 2017.06.09 |
codility - CountDiv 정답 및 해설 (0) | 2017.06.08 |