[SWEA D3] 1208. [S/W 문제해결 기본] 1일차 - Flatten 풀이

김민주·2022년 11월 16일
0

문제 - 1208. [S/W 문제해결 기본] 1일차 - Flatten

swexpertacademy 문제 바로가기 Click



설명

  1. 입력받은 상자열 배열을 정렬한다.
  2. 정렬된 첫 원소값에 +1, 마지막 원소값에 -1을 해준다.
  3. 다시 정렬한 후 총합이 짝수면 최종평탄화는 0, 홀수면 1이므로 반복문을 탈출할 수 있게 해준다.
  4. 최종 평탄화 값을 계산해준다.



풀이

import java.util.*;

class Solution
{
	public static void main(String args[]) throws Exception
	{
	
		Scanner sc = new Scanner(System.in);
		
		for(int test_case = 1; test_case <= 10; test_case++)
		{
			int n =sc.nextInt(); //덤프횟수
            int[] arr = new int[100]; //상자 열 개수
			int result = 0; 
            int sum = 0;
            for(int i =0; i<100;i++){
                arr[i] = sc.nextInt();
                sum += arr[i];
            }
            for(int i =0;i<n;i++){
           		Arrays.sort(arr); 
                //최댓값은 --, 최솟값은 ++ (옮기기)
                arr[99]--;
                arr[0]++;
                Arrays.sort(arr); 
                if(sum%2 ==0) { //총합이 짝수면 최종평탄화 0
                    if(arr[99] - arr[0] == 0) break;
                }else{ 
                    if(arr[99] - arr[0] == 1) break;
                }
            }
  			result = arr[99] - arr[0];
			System.out.printf("#%d %d\n", test_case, result);
		}
	}
}
profile
𝐃𝐨𝐧'𝐭 𝐛𝐞 𝐚 𝐩𝐫𝐨𝐜𝐫𝐚𝐬𝐭𝐢𝐧𝐚𝐭𝐨𝐫💫

0개의 댓글