[JAVA/2693号]N号大数*


質問する

入力と出力

に答える

import java.io.*;
import java.util.*;

class Main {
    public static void main(String args[]) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        // T
        int T = Integer.parseInt(br.readLine());

        // 결과 값 추출할 변수
        StringBuilder sb = new StringBuilder();

        for (int i = 0; i < T; i++) {
            String[] temp = br.readLine().split(" ");

            // 숫자 배열로 변환과정
            int[] array = new int[temp.length];
            for (int j = 0; j < temp.length; j++) {
                array[j] = Integer.parseInt(temp[j]);
            }

            // 3번째 큰 수를 추출
            sb.append(SelectionSort(array) + "\n");
        }

        // 결과 값 출력
        System.out.println(sb);
    }

    public static int SelectionSort(int[] array) {
        int minIndex = 0;
        for (int i = 0; i < array.length; i++) {
            minIndex = i;
            for (int j = i + 1; j < array.length; j++) {
                if (array[minIndex] > array[j]) {
                    minIndex = j;
                }
            }

            // swap 교환
            int temp = array[i];
            array[i] = array[minIndex];
            array[minIndex] = temp;
        }

        // 결과 값 반환
        return array[array.length - 3];
    }
}
結果とソリューション
[結果]