백준 2693번: N번째 큰 수

seo0·2023년 5월 21일
0

Algorithm

목록 보기
2/3

문제

배열 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]);
			}
		}
	}
}

결과


Arrays.sort()

배열이나 리스트를 정렬하려고 한다면 java.util.Arrays 클래스의 sort() 메서드를 사용하면 정렬 로직을 따로 만들지 않아도 메서드 호출로 간편하게 배열이나 리스트를 정렬할 수 있다.

0개의 댓글