paizaラーニングのレベルアップ問題集「線形探索メニュー」からの出典です。
paiza.jp
Javaによる「線形探索メニュー」問題集 【指定された値の探索】指定された値の位置 3と、それらの提出コードの解答例です。
僕が作成、提出したコードは、以下のとおりです。
・STEP: 1 指定された値の個数
/* Javaによる「線形探索メニュー」問題集 【指定された値の探索】指定された値の位置 3 STEP: 1 指定された値の個数 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] num = new int[n]; for(int i = 0; i < n; i++){ num[i] = sc.nextInt(); } int k = sc.nextInt(); int cnt = 0; for(int i = 0; i < n; i++){ if(num[i] == k) cnt++; } System.out.println(cnt); } }
・STEP: 2 指定された値の位置 1
/* Javaによる「線形探索メニュー」問題集 【指定された値の探索】指定された値の位置 3 STEP: 2 指定された値の位置 1 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] num = new int[n]; for(int i = 0; i < n; i++){ num[i] = sc.nextInt(); } int k = sc.nextInt(); for(int i = 0; i < n; i++){ if(num[i] == k){ System.out.println(i+1); break; }else if(i == n-1){ System.out.println(0); } } } }
・STEP: 3 指定された値の位置 2
/* Javaによる「線形探索メニュー」問題集 【指定された値の探索】指定された値の位置 3 STEP: 3 指定された値の位置 2 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] num = new int[n]; for(int i = 0; i < n; i++){ num[i] = sc.nextInt(); } int k = sc.nextInt(); int ans = -1; for(int i = 0; i < n; i++){ if(num[i] == k) ans = i; } System.out.println(ans+1); } }
・FINAL問題 【指定された値の探索】指定された値の位置 3
/* Javaによる「線形探索メニュー」問題集 【指定された値の探索】指定された値の位置 3 FINAL問題 【指定された値の探索】指定された値の位置 3 https://paiza.jp/works/mondai 提出コードの解答例 https://neguse-atama.hatenablog.com */ import java.util.Scanner; import java.util.ArrayList; public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] num = new int[n]; for(int i = 0; i < n; i++){ num[i] = sc.nextInt(); } int k = sc.nextInt(); ArrayList lis = new ArrayList(); for(int i = 0; i < n; i++){ if(num[i] == k) lis.add(i+1); } if(lis.size() != 0){ for(int i = 0; i < lis.size(); i++){ System.out.println(lis.get(i)); } } } }
paizaラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。