문제 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV139KOaABgCFAYh
풀이
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Collections;
import java.io.FileInputStream;
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(); // 덤프 횟수
ArrayList<Integer> list = new ArrayList<>();
for(int i=0; i<100; i++) {
list.add(sc.nextInt());
}
for(int i=0; i<n; i++) {
int min = Collections.min(list);
int max = Collections.max(list);
list.set(list.indexOf(min), min+1);
list.set(list.indexOf(max), max-1);
}
System.out.println("#" + test_case + " " + (Collections.max(list) - Collections.min(list)));
}
}
}
덤프 횟수 만큼 반복하여
반복할때마다 최대,최소를 찾아서 최댓값에서 -1 하고, 최솟값에서 +1을 반복하면 된다.
컬렉션의 min,max 를 사용하여 구하였다.
반복이 종료 된 후 최댓값에서 최솟값을 뺀 값을 출력하면 된다.