paizaラーニングのレベルアップ問題集「Bランクレベルアップセット」からの出典です。
paiza.jp
「五目並べ」問題集と、それらの提出コードの解答例です。
僕が作成、提出したコードは、以下のとおりです。
・STEP: 1 文字列の出力
/* Javaによる「五目並べ」問題集 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); for(int i = 0; i < 5; i++){ String str = sc.nextLine(); System.out.println(str); } } }
・STEP: 2 五目並べ(1行)
/* Javaによる「五目並べ」問題集 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); String str = sc.nextLine(); switch(str){ case "OOOOO": System.out.println("O"); break; case "XXXXX": System.out.println("X"); break; default: System.out.println("D"); break; } } }
・STEP: 3 五目並べ(横)
/* Javaによる「五目並べ」問題集 STEP: 3 五目並べ(横) 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 countO = 0; int countX = 0; for(int i = 0; i < 5; i++){ String str = sc.nextLine(); switch(str){ case "OOOOO": countO++; break; case "XXXXX": countX++; break; } } if(countO > countX){ System.out.println("O"); }else if(countO < countX){ System.out.println("X"); }else{ System.out.println("D"); } } }
・STEP: 4 五目並べ(縦)
/* Javaによる「五目並べ」問題集 STEP: 4 五目並べ(縦) 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); String s1 = sc.nextLine(); String s2 = sc.nextLine(); String s3 = sc.nextLine(); String s4 = sc.nextLine(); String s5 = sc.nextLine(); String ans1 = s1.substring(0, 1) + s2.substring(0, 1) + s3.substring(0, 1) + s4.substring(0, 1) + s5.substring(0, 1); String ans2 = s1.substring(1, 2) + s2.substring(1, 2) + s3.substring(1, 2) + s4.substring(1, 2) + s5.substring(1, 2); String ans3 = s1.substring(2, 3) + s2.substring(2, 3) + s3.substring(2, 3) + s4.substring(2, 3) + s5.substring(2, 3); String ans4 = s1.substring(3, 4) + s2.substring(3, 4) + s3.substring(3, 4) + s4.substring(3, 4) + s5.substring(3, 4); String ans5 = s1.substring(4, 5) + s2.substring(4, 5) + s3.substring(4, 5) + s4.substring(4, 5) + s5.substring(4, 5); int countO = 0; int countX = 0; if(ans1.equals("OOOOO")){ countO++; }else if(ans1.equals("XXXXX")){ countX++; } if(ans2.equals("OOOOO")){ countO++; }else if(ans2.equals("XXXXX")){ countX++; } if(ans3.equals("OOOOO")){ countO++; }else if(ans3.equals("XXXXX")){ countX++; } if(ans4.equals("OOOOO")){ countO++; }else if(ans4.equals("XXXXX")){ countX++; } if(ans5.equals("OOOOO")){ countO++; }else if(ans5.equals("XXXXX")){ countX++; } if(countO > countX){ System.out.println("O"); }else if(countO < countX){ System.out.println("X"); }else{ System.out.println("D"); } } }
・STEP: 5 五目並べ(斜め)
/* Javaによる「五目並べ」問題集 STEP: 5 五目並べ(斜め) 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); String s1 = sc.nextLine(); String s2 = sc.nextLine(); String s3 = sc.nextLine(); String s4 = sc.nextLine(); String s5 = sc.nextLine(); String ans1 = s1.substring(0, 1) + s2.substring(1, 2) + s3.substring(2, 3) + s4.substring(3, 4) + s5.substring(4, 5); String ans2 = s1.substring(4, 5) + s2.substring(3, 4) + s3.substring(2, 3) + s4.substring(1, 2) + s5.substring(0, 1); int countO = 0; int countX = 0; if(ans1.equals("OOOOO")){ countO++; }else if(ans1.equals("XXXXX")){ countX++; } if(ans2.equals("OOOOO")){ countO++; }else if(ans2.equals("XXXXX")){ countX++; } if(countO > countX){ System.out.println("O"); }else if(countO < countX){ System.out.println("X"); }else{ System.out.println("D"); } } }
・FINAL問題: 五目並べ
/* Javaによる「五目並べ」問題集 FINAL問題: 五目並べ 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); String s1 = sc.nextLine(); String s2 = sc.nextLine(); String s3 = sc.nextLine(); String s4 = sc.nextLine(); String s5 = sc.nextLine(); int countO = 0; int countX = 0; if(s1.equals("OOOOO")){ countO++; }else if(s1.equals("XXXXX")){ countX++; } if(s2.equals("OOOOO")){ countO++; }else if(s2.equals("XXXXX")){ countX++; } if(s3.equals("OOOOO")){ countO++; }else if(s3.equals("XXXXX")){ countX++; } if(s4.equals("OOOOO")){ countO++; }else if(s4.equals("XXXXX")){ countX++; } if(s5.equals("OOOOO")){ countO++; }else if(s5.equals("XXXXX")){ countX++; } String ans1 = s1.substring(0, 1) + s2.substring(0, 1) + s3.substring(0, 1) + s4.substring(0, 1) + s5.substring(0, 1); String ans2 = s1.substring(1, 2) + s2.substring(1, 2) + s3.substring(1, 2) + s4.substring(1, 2) + s5.substring(1, 2); String ans3 = s1.substring(2, 3) + s2.substring(2, 3) + s3.substring(2, 3) + s4.substring(2, 3) + s5.substring(2, 3); String ans4 = s1.substring(3, 4) + s2.substring(3, 4) + s3.substring(3, 4) + s4.substring(3, 4) + s5.substring(3, 4); String ans5 = s1.substring(4, 5) + s2.substring(4, 5) + s3.substring(4, 5) + s4.substring(4, 5) + s5.substring(4, 5); if(ans1.equals("OOOOO")){ countO++; }else if(ans1.equals("XXXXX")){ countX++; } if(ans2.equals("OOOOO")){ countO++; }else if(ans2.equals("XXXXX")){ countX++; } if(ans3.equals("OOOOO")){ countO++; }else if(ans3.equals("XXXXX")){ countX++; } if(ans4.equals("OOOOO")){ countO++; }else if(ans4.equals("XXXXX")){ countX++; } if(ans5.equals("OOOOO")){ countO++; }else if(ans5.equals("XXXXX")){ countX++; } String ans6 = s1.substring(0, 1) + s2.substring(1, 2) + s3.substring(2, 3) + s4.substring(3, 4) + s5.substring(4, 5); String ans7 = s1.substring(4, 5) + s2.substring(3, 4) + s3.substring(2, 3) + s4.substring(1, 2) + s5.substring(0, 1); if(ans6.equals("OOOOO")){ countO++; }else if(ans6.equals("XXXXX")){ countX++; } if(ans7.equals("OOOOO")){ countO++; }else if(ans7.equals("XXXXX")){ countX++; } if(countO > countX){ System.out.println("O"); }else if(countO < countX){ System.out.println("X"); }else{ System.out.println("D"); } } }
これで「Bランクレベルアップセット」はすべて解き終えました。
paizaラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。