寝癖頭の解法

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

paizaラーニング: Javaによる「Bランクレベルアップメニュー」問題集: 五目並べ

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