기타 사이트/SWEA

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

빙수빈수 2023. 9. 27. 15:30

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&problemLevel=4&contestProbId=AV139KOaABgCFAYh&categoryId=AV139KOaABgCFAYh&categoryType=CODE&problemTitle=%5BS%2FW+%EB%AC%B8%EC%A0%9C%ED%95%B4%EA%B2%B0+%EA%B8%B0%EB%B3%B8%5D+1&orderBy=INQUERY_COUNT&selectCodeLang=ALL&select-1=4&pageSize=10&pageIndex=1 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

[코드]

import java.util.*;

public class Flatten {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		
		for(int t=1;t<=10;t++) {
			int n=sc.nextInt(); // 덤프 횟수
			int[] height=new int[100];
			
			// 100개의 건물 높이 입력
			for(int i=0;i<100;i++)
				height[i]=sc.nextInt();
			
			// n번의 덤프 수행
			for(int i=0;i<n;i++) {
				Arrays.sort(height); // 정렬 후
				height[0]++; // 가장 큰 높이에서 하나 떼어 가장 작은 높이에 더하기
				height[99]--;
			}
			
			Arrays.sort(height); // 마지막 연산 후 재정렬
			
			System.out.println("#"+t+" "+(height[99]-height[0]));
		}
	}

}

 

[고찰]

 이번 문제는 단순 정렬 문제로 쉽게 해결할 수 있었다.