공부하기/백준

[Java] 백준 풀기 2693 - N번째 큰 수

XEV 2023. 6. 18. 00:05

자바 백준 2693번

브론즈 1

https://www.acmicpc.net/problem/2693

 

2693번: N번째 큰 수

첫째 줄에 테스트 케이스의 개수 T(1 ≤ T ≤ 1,000)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 배열 A의 원소 10개가 공백으로 구분되어 주어진다. 이 원소는 1보다 크거나 같고, 1,000

www.acmicpc.net

 

 

 

 

 

문제 보기

분류: 정렬

 

 

 

 

 

문제 풀기

숫자를 array에 입력 받고 오름차순 정렬을 한 후 index (10 - N번째) 의 값을 출력한다.

 

 

 

 

 

코드 보기

import java.util.Scanner;
import java.util.Arrays;

public class Main {
    
    static Scanner sc = new Scanner(System.in);
    
    public static void main(String[] args) {
        
        int theNth = 3;  // 문제에서 제시한 3번째
        int testCase = sc.nextInt();  // 테스트 케이스 개수

        // 테스트 케이스 개수만큼 메서드 실행
        for (int i = 0; i < testCase; i++) {
            // N번째 (3번째) 큰 수 찾기
            int result = findTheNthLargestNunber(theNth);
            
            // 결과 출력
            System.out.println(result);
        }
    }
    
    public static int findTheNthLargestNunber(int theNth) {
        int[] arr = new int[10];  // 10개의 수를 입력 받을 array
        for (int j = 0; j < 10; j++) {
            arr[j] = sc.nextInt();  // 10개의 수 입력
        }
        
        Arrays.sort(arr);  // 숫자 입력된 array 오름차순 정렬
        int result = arr[10 - theNth];  // 오름차순 정렬된 array의 3번째 큰수는 index 7
        
        return result;
    }
    
}