코딩테스트/백준

[Java] 백준 13164번 - 행복 유치원

곰돌이볼 2023. 5. 22. 22:34

 

  • 조건
    • 티셔츠의 비용 계산 방법
      • 한 조의 제일 작은 아이의 키와 제일 큰 아이의 키의 차이
    • 한 조에는 최소 1명의 인원이 필요

 

  • 입력
    • 첫번째 줄
      • N K : 원생 수(1 ≤ N ≤ 300,000), 조의 개수(1 ≤ K ≤ N)
    • 두번째 줄
      • 원생의 키 : 오름차순(≤ 1,000,000,000)

 

  • 출력
    • 티셔츠를 만드는 최소 비용

 

  • 로직 1)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String[] tmp = br.readLine().split(" ");
        int kid = Integer.parseInt(tmp[0]);
        int group = Integer.parseInt(tmp[1]);

        int[] height = Arrays.stream(br.readLine().split(" "))
                .mapToInt(s -> Integer.parseInt(s))
                .toArray();

        if(kid == group) {
            System.out.println(0);
            return ;
        }

        int cost = 0;

        List<Integer> list = new ArrayList<>();
        for(int i=1; i<height.length; i++) {
            list.add(height[i] - height[i-1]);
        }

        Collections.sort(list);

        for(int i=0; i<kid-group; i++) {
            cost += list.get(i);
        }

        System.out.println(cost);
    }
}

 

  • 결과
    • 성공