우당탕탕 개발일지
[SWEA] 1208. [S/W 문제해결 기본] 1일차 - Flatten(Java, D3) 본문
반응형
문제
한 쪽 벽면에 다음과 같이 노란색 상자들이 쌓여 있다.
높은 곳의 상자를 낮은 곳에 옮기는 방식으로 최고점과 최저점의 간격을 줄이는 작업을 평탄화라고 한다.
평탄화를 모두 수행하고 나면, 가장 높은 곳과 가장 낮은 곳의 차이가 최대 1 이내가 된다.
평탄화 작업을 위해서 상자를 옮기는 작업 횟수에 제한이 걸려있을 때, 제한된 횟수만큼 옮기는 작업을 한 후 최고점과 최저점의 차이를 구해라
입출력 예
풀이
Arrays.sort를 통해서 오름차순 정렬을 한다.
그 후, 가장 작은 값이 0번째에는 +1, 가장 큰 값인 99 번째에는 -1를 한다.
해당 과정이 끝난 후 99번째와 0번째의 차이를 출력한다.
코드
Scanner sc = new Scanner(System.in);
int t=sc.nextInt();
for(int tc =1; tc<1+t; tc++) {
int result = 0;
int count = sc.nextInt();
int[] boxHigh = new int[100];
for(int i=0; i<100; i++) {
boxHigh[i] = sc.nextInt();
}
for(int i=0; i<count; i++) {
Arrays.sort(boxHigh);
boxHigh[0] ++;
boxHigh[99] --;
}
Arrays.sort(boxHigh);
result = boxHigh[99] - boxHigh[0];
System.out.println("#"+tc+ " " + result);
}
SWEA 문제
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV139KOaABgCFAYh
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
반응형
'코테 > SW Expert Academy' 카테고리의 다른 글
[SWEA] 1209. [S/W 문제해결 기본] 2일차 - Sum(Java, D3) (0) | 2024.05.17 |
---|---|
[SWEA] 2805. 농작물 수확하기(Java, D3) (0) | 2024.05.17 |
[SWEA] 1206. [S/W 문제해결 기본] 1일차 - View(Java, D3) (0) | 2024.05.17 |
[SWEA] 19113. 식료품 가게(Java, D3) (0) | 2024.05.14 |
[SWEA] 1213. [S/W 문제해결 기본] 3일차 - String(Java, D3) (0) | 2024.05.13 |