코델리티 MinAvgTwoSlice java 풀이

d-h-k·2021년 4월 14일
0
  • 나는 생각해내지 못했지만, 정답풀이를 보고 나니 ... 당연한거 같기도 하면서 대단한 생각
  • 어차피 구간평균최소는 바닥이 정해진 상태라 짧을수록 유리
class Solution {
    public int solution(int[] A) {
        double mini = 999;
        int minIdx = 0;


        // 2개짜리 체크


        for(int i=0 ; i < A.length-2 ; i++) {
            double avg3 = (A[i+2] + A[i+1] + A[i])/3.0;
            double avg2 = (A[i+1] + A[i])/2.0;

            if(mini > avg2) {
                mini = avg2;
                minIdx = i;
            }// 2개짜리 체크

            if(mini > avg3) {
                mini = avg3;
                minIdx = i;
            }//3개짜리 쳌


        }



        //

        return minIdx;
    }

    public static void main(String[] args) {
        tester(new int[]{4, 2, 2, 5, 1, 5, 8}, 1);
        tester(new int[]{3, 4, 5}, 0);
    }

    public static void tester(int[] in, int ans) {
        Solution s = new Solution();
        int ret = s.solution(in);
        if (ret != ans) {
            System.out.println("NG");
            return;
        }
        System.out.println("OK");
    }


}
profile
김동훈

관심 있을 만한 포스트

0개의 댓글