寝癖頭の解法

学習中の覚え書きを投稿、更新していきます。

paizaラーニング: Javaによる「線形探索メニュー」問題集 【第 k 要素の探索】k番目に大きな値

paizaラーニングのレベルアップ問題集「線形探索メニュー」からの出典です。
paiza.jp
Javaによる「線形探索メニュー」問題集 【第 k 要素の探索】k番目に大きな値 と、それらの提出コードの解答例です。

僕が作成、提出したコードは、以下のとおりです。

・STEP: 1 2番目に大きな値

paiza.jp

/*
Javaによる「線形探索メニュー」問題集 【第 k 要素の探索】k番目に大きな値 
STEP: 1 2番目に大きな値 
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
import java.util.Scanner;
import java.util.Arrays;
public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] lis = new int[n];
        for(int i = 0; i < n; i++){
            int a = sc.nextInt();
            lis[i] = a;
        }
        Arrays.sort(lis);
        for(int i = n; i >= n-2; i--){
            if(i == n-2) System.out.println(lis[i]);
        }
    }
}
・FINAL問題 【第 k 要素の探索】k番目に大きな値

paiza.jp

/*
Javaによる「線形探索メニュー」問題集 【第 k 要素の探索】k番目に大きな値 
FINAL問題 【第 k 要素の探索】k番目に大きな値  
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
import java.util.Scanner;
import java.util.Arrays;
public class Main {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] lis = new int[n];
        for(int i = 0; i < n; i++){
            int a = sc.nextInt();
            lis[i] = a;
        }
        int k = sc.nextInt();
        Arrays.sort(lis);
        for(int i = n; i >= n-k; i--){
            if(i == n-k) System.out.println(lis[i]);
        }
    }
}

paizaラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。