前提・実現したいこと
paizaラーニングでJAVAの問題を解いていますが、以下の問題において、作成したコードが正当とはみなされません。
この問題集は回答がなく、また対応した質問フォーマットも存在しておりません。
考え方や何か見落としている点などご教示いただければと考えています。
該当URLはhttps://paiza.jp/works/mondai/c_rank_level_up_problems/c_rank_for_step4?language_uid=java
m 個の文字 c_1, ..., c_m と、 n 個の文字列 S_1, ..., S_n が与えられます。各 c_i (1 ≤ i ≤ m) について、各 S_j (1 ≤ j ≤ n) に c_i が出現するかをそれぞれ調べ、出現する場合は "YES" を、そうでない場合には "NO" を、そのつど出力してください。
入力される値のフォーマット
m c_1 c_2 ... c_m n S_1 S_2 ... S_n
作成したコード
java
1import java.util.*; 2public class Main { 3 public static void main(String[] args) { 4 Scanner sc = new Scanner(System.in); 5 6 // m個の文字を格納する配列c_mを作成 7 int m = sc.nextInt(); 8 String[] c_m = new String[m]; 9 for (int i=0; i<m; i++) { 10 String c = sc.next(); 11 c_m[i] = c; 12 } 13 14 int n = sc.nextInt(); 15 String str1; 16 String str2; 17 18 // n個の文字列に対して、c_mから順番に取り出した要素が含まれているか順番に確認する 19 for (int i=0; i<n; i++) { 20 str1 = sc.next(); 21 for (int j=0; j<c_m.length; j++) { 22 str2 = c_m[j]; 23 if (str1.contains(str2)) { 24 System.out.println("YES"); 25 } else { 26 System.out.println("NO"); 27 } 28 } 29 } 30 } 31} 32
試したこと
この問題で答え合わせを実行するとステップ3(50の文字と50の文字列をテスト)で不正解となります。
テストのインプットデータをダウンロードすることはできるのですが、どこでエラーになっているのかは表示されないため、
どこに問題があるのか緒が掴めないでいます。
他に以下のようなコードも書いてみましたが、実行結果は同じでした。
if(str1.indexOf(str2) != -1){ ~~~~~~~~~~~~~~~~ }
回答1件
あなたの回答
tips
プレビュー