Article Image
Article Image
read

문제

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV139KOaABgCFAYh&categoryId=AV139KOaABgCFAYh&categoryType=CODE

입력

총 10개의 테스트 케이스가 주어지며, 각 테스트 케이스의 첫 번째 줄에는 덤프 횟수가 주어진다. 그리고 다음 줄에 각 상자의 높이값이 주어진다.

출력

#부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 테스트 케이스의 최고점과 최저점의 높이 차를 출력한다.

예제 입력 1

834
42 68 35 1 70 25 79 59 63 65 6 46 82 28 62 92 96 43 28 37 92 5 3 54 93 83 22 17 19 96 ...
617
16 40 59 5 31 78 7 74 87 22 46 25 73 71 30 78 74 98 13 87 91 62 37 56 68 56 75 32 53 ...
...

예제 출력 1

#1 13
#2 32
...

풀이

import java.util.Scanner;
 
class Solution
{
    public static void main(String args[]) throws Exception
    {
        Scanner sc = new Scanner(System.in);
        int T=10;
 
        for(int test_case = 1; test_case <= T; test_case++)
        {
            int N = sc.nextInt();
            int[] arr = new int[100];
            int[] maximum = new int[2];
            int[] minimum = new int[2];
            for(int i=0; i<100; i++) {
                arr[i]=sc.nextInt();
            }
             
            for(int j=0; j<N; j++) {
                maximum=max(arr);
                minimum=min(arr);
                if(maximum[0]-minimum[0]<=1)
                    break;
                else {
                    arr[maximum[1]]-=1;
                    arr[minimum[1]]+=1;
                }
            }
            maximum=max(arr);
            minimum=min(arr);
            int result = maximum[0]-minimum[0];
            System.out.println("#"+test_case+" "+result);
        }
    }
    public static int[] max(int[] arr) {
        int[] max=new int[2];
        max[0]=Integer.MIN_VALUE;
        for(int i=0; i<arr.length; i++) {
            if(max[0]<arr[i]) {
                max[0]=arr[i];
                max[1]=i;
            }
        }
        return max;
    }
    public static int[] min(int[] arr) {
        int[] min = new int[2];
        min[0] = Integer.MAX_VALUE;
        for(int i=0; i<arr.length; i++) {
            if(min[0]>arr[i]) {
                min[0]=arr[i];
                min[1]=i;
            }
        }
        return min;
    }
}
Blog Logo

pss407


Published

Image

pss's GitHub 블로그

Welcome my blog!

Back to Overview