본문 바로가기
온라인 저지/SWEA

[SWEA/Java] 1208 Flatten

by ahj 2022. 2. 4.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
 
public class Solution {
 
     
    public static void main(String[] args) throws Exception {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder ans = new StringBuilder();
 
        int dumpCount, result;
        String[] hw;
        int[] boxHeights = new int[100];
        for (int test_case = 1; test_case <= 10; test_case++) {
            dumpCount = Integer.parseInt(in.readLine());
            hw = in.readLine().split(" ");
            for (int i = 0; i < 100; i++) {
                boxHeights[i] = Integer.parseInt(hw[i]);
            }
            result = 0;
            while(dumpCount >= 0 || result <= 1) {
                Arrays.sort(boxHeights);
                result = boxHeights[99] - boxHeights[0];
                boxHeights[99]--;
                boxHeights[0]++;
                dumpCount--;
            }
 
 
            ans.append("#").append(test_case).append(" ").append(result).append("\n");
        }
        in.close();
        System.out.println(ans);
    }
 
}

BufferedReader, StringBuilder 계속 연습 중

 

어차피 입력으로 들어오는 array의 길이가 100으로 정해져 있기 때문에 마음껏 정렬을 돌렸다.

 

결국 Flatten에서 필요한 작업은 가장 큰 값서 1을 빼고 가장 작은 값에서 1을 더해주는 것이기 때문에 정렬로 해주면 간단히 해결 된다.

댓글