알고리즘/기타

[Cos pro 1급] 6차 문제3) 큰수와 작은수의 차이(java)

흰싸라기 2022. 8. 25. 17:15

https://edu.goorm.io/learn/lecture/17301/cos-pro-1%25EA%25B8%2589-%25EA%25B8%25B0%25EC%25B6%259C%25EB%25AC%25B8%25EC%25A0%259C-java

 

COS PRO 1급 기출문제 - Java - 구름EDU

YBMIT에서 시행하는 COS Pro 자격증으로 기출문제를 직접 풀어볼 수 있는 실습 위주의 강좌입니다.

edu.goorm.io

[문제]

[문제풀이]

import java.util.*;

class Main {
    public int solution(int[] arr, int K) {
        int answer = arr[arr.length-1]-arr[0];
        Arrays.sort(arr);
        for(int i=0;i+K<arr.length+1;i++)
        	answer = Math.min(answer, arr[i+K-1]-arr[i]);
           
        return answer;
    }
    
    public static void main(String[] args) {
    	Main sol = new Main();
    	int[] arr = {9, 11, 9, 6, 4, 19};
    	int K = 4;
    	int ret = sol.solution(arr, K);

    	System.out.println("solution 메소드의 반환 값은 " + ret + " 입니다.");
    }

}

: 정렬 후 그리디 알고리즘으로 문제 풀이. 인덱스 별 선택할 수 있는 가장 차이가 적은 값은 K-1 뒤에 있는 값임을 이용.