SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
문제
설명
이 문제의 핵심은, 배열을 정렬해서 flatten 작업을 효율적으로 하는 것 입니다.
코드
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class SWEA1208 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int[] boxes = new int[100];
for(int tc=1; tc<=10; tc++) {
int num=Integer.parseInt(br.readLine()); //dump 횟수
StringTokenizer st = new StringTokenizer(br.readLine());
int diff=0;
for(int i=0; i<100; i++) {
boxes[i]=Integer.parseInt(st.nextToken());
}
//입력 완료
int cnt=0;
while(true) {
Arrays.sort(boxes);
diff = boxes[99]-boxes[0];
if(diff<=1 || cnt==num) //평탄화가 이미 완료됐거나 횟수만큼 다 돌았다면
break;
boxes[99]--; boxes[0]++; //dump 수행
cnt++;
}
System.out.println("#"+tc+ " " + diff);
}
}
}
'알고리즘 문제풀이 > SWEA(SW Expert Academy)' 카테고리의 다른 글
[SWEA][JAVA]1289 - 원재의 메모리 복구하기 (0) | 2021.08.17 |
---|---|
[SWEA][JAVA]5215 - 햄버거 다이어트 (0) | 2021.08.13 |
[SWEA][JAVA]1204 - 최빈수 구하기 (0) | 2021.08.10 |
[SWEA]{JAVA]9229 - 한빈이와 Spot Mart (0) | 2021.08.09 |
[SWEA][JAVA]1228번 - 암호문1 (0) | 2021.08.09 |