배열 A가 주어졌을 때, N번째 큰 값을 출력하는 프로그램을 작성하시오. 이때 배열 A의 크기는 항상 10이고 자연수만 가지며, N은 항상 3이다.
첫째 줄에 테스트 케이스의 개수 T가 주어지며 T는 1≤T≤1,000의 조건을 가진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 배열 A의 원소 10기를 공백으로 구분하여 입력한다. 이 원소는 1보다 크거나 같고 1,000보다 작거나 같은 자연수다.
import java.util.Arrays;
import java.util.Scanner;
public class Main {
static final int N = 3;
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int[] arr = new int[10];
int test_case = sc.nextInt();
//테스트 케이스 조건 제한
if(1<=test_case && test_case<=1000) {
int[] result = new int[test_case];
for(int i = 0; i<test_case;i++) {
for(int j =0;j<arr.length;j++) {
arr[j] = sc.nextInt();
//입력 원소 조건 제한
if(1>arr[j]||arr[j]>1000) {
j--;
}
}
//배열 정렬
Arrays.sort(arr);
result[i] = arr[arr.length-N];
}
for(int i =0; i<result.length;i++) {
System.out.println(result[i]);
}
}
}
}
배열이나 리스트를 정렬하려고 한다면 java.util.Arrays 클래스의 sort() 메서드를 사용하면 정렬 로직을 따로 만들지 않아도 메서드 호출로 간편하게 배열이나 리스트를 정렬할 수 있다.