728x90
문제
풀이
/*
* 입력
* 1. 10개의 테스트 케이스
* 2. 덤프 횟수 N
* 3. 각 상자의 높이값
* 출력
* 1. #tc 최고점과 최저점의 높이 차
* 조건
* 1. 상자의 개수는 항상 100
*
* >> 배열에 넣은 뒤 정렬하고 덤프를 끝내면 재정렬
*/
정렬을 사용하면 쉽게 풀리는 문제다 배열의 가장 뒤에 있는 값(제일 큰 값)에서 제일 앞에 있는 값(제일 작은 값)으로 하나씩 옮겨 주면 된다
코드
package com.ssafy.im;
import java.io.*;
import java.util.*;
public class D2_1208_Flatten {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
for(int tc = 1; tc<=10; tc++) {
int N = Integer.parseInt(br.readLine());
int[] box = new int[100];
StringTokenizer st = new StringTokenizer(br.readLine());
for(int i = 0; i<100; i++) {
box[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(box);
for(int i = 0; i<N; i++) {
box[99]--;
box[0]++;
Arrays.sort(box);
}
sb.append("#").append(tc).append(" ").append(box[99]-box[0]).append("\n");
}
System.out.println(sb);
}
}
결과
#자바 #java #swea #알고리즘
728x90
'알고리즘 > SWEA' 카테고리의 다른 글
[java][swea][d3] 2805. 농작물 수확하기 (0) | 2022.02.27 |
---|---|
[java][swea][d3] 1873. 상호의 배틀필드 (0) | 2022.02.27 |
[java][swea][d2] 2001. 파리 퇴치 (0) | 2022.02.27 |
[java][swea][d4] 7465. 창용 마을 무리의 개수 (0) | 2022.02.22 |
[java][swea][d3] 6808. 규영이와 인영이의 카드게임 (0) | 2022.02.14 |