아무런 알고리즘이 필요없는 간단한 문제입니다. 주어진 횟수만큼 제일 큰 놈에서 제일 작은 놈으로 옮겨주면 됩니다.
가로의 길이가 항상 100개이므로 정렬하면서 가장 큰 쪽을 하나 빼고 가장 작은 쪽을 하나 더하면 됩니다.
import java.util.Arrays;
import java.util.Scanner;
public class Flattern {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String output = "";
int T;
T=10;
for(int test_case = 1; test_case <= T; test_case++) {
int n = sc.nextInt();
int [] box = new int[100];
for(int i = 0; i< 100;i++)
box[i] = sc.nextInt();
Arrays.sort(box);
for(int i = 0; i<n; i++) {
box[0]++;
box[99]--;
Arrays.sort(box);
}
output += "#" + test_case + " " + (box[99] - box[0]) + "\n";
}
System.out.println(output);
}
}
C++에서는 max_element(), min_element()로 바로 찾아줘서 계산해주면 더 쉽겠는디
자바에서도 이런 메소드가 있는지는 아직 모르겠슴니다.. 검색해봐야겠슴다..
이제야 깨닫게 된 자바 매우 꿀팁
배열 출력할 때System.out.println(Arrays.toString(array));
하면 됨니다...
증말 편하네
감사함니다 ^_^
'Algorithm > SWEA' 카테고리의 다른 글
[SWEA-9229][DFS] 한빈이와 Spot Mart - Java (0) | 2020.08.03 |
---|---|
[SWEA-1223][스택] 계산기2 - Java (0) | 2020.08.02 |
[SWEA-1225][큐] 암호생성기 - Java (0) | 2020.07.30 |
[SWEA-1218][스택] 괄호 짝짓기 - Java (0) | 2020.07.30 |
[SWEA-1210] Ladder1 - Java (0) | 2020.07.28 |