반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. [SW expert Academy] SWEA 1208번 Flatten 자바(Java)

 

2. 코드

import java.util.Arrays;
import java.util.Scanner;
 
public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        for(int tc=1;tc<=10;tc++) {
            int Dump = sc.nextInt();
            int[] arr = new int[100];
            
            //배열 입력
            for(int i=0;i<arr.length;i++) arr[i] = sc.nextInt();
             
            //초기 배열 
            Arrays.sort(arr);
            
            //배열에서 최댓값을 1감소 시키고, 최솟값을 1 증가 시킨다음 다시 배열
            for(int i=0;i<Dump;i++) {
                arr[0]++;
                arr[99]--;
                Arrays.sort(arr);
            }
            
            //결과 출력
            System.out.printf("#%d %d\n",tc, arr[99] - arr[0]);         
        }
         
    }
}

- 덤프과정은 가장 큰 수에서 1을 빼고, 가장 작은 수를 1 증가시키면 된다.

- 그래서, Arrays.sort()를 사용하면 최소 최대는 항상 처음과 끝이 되기 때문에 덤프 횟수까지 반복문을 돌려서 최대값에서는 1을 감소 시키고, 최솟값에서는 1을 증가시켜 배열을 정렬하여 마지막에 arr[99]에서 arr[0]을 빼면 된다.


 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기