寝癖頭の解法

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

paizaラーニング: C言語とJavaによるアルファベットの穴の数

大文字のアルファベットから、その文字にある囲われた部分の数を出力する問題と、その提出コードの解答例です。
paizaラーニングのレベルアップ問題集「Dランク早解きセット」からの出典です。
paiza.jp
・問題
 大文字のアルファベットには、囲われた部分があるものと、そうでないものがあります。
 例えば、
 Aは上部の三角形の部分が囲われており、囲われた部分が1つ存在します。
 Bは上部と下部がそれぞれ囲われており、囲われた部分が2つ存在します。
 Cには囲われた部分は存在しません。
 入力として、大文字のアルファベットが与えられるので、その文字にある囲われた部分の数を出力してください。
 ただし、囲われた部分の数は以下であるとします。
 0個 : C, E, F, G, H, I, J, K, L, M, N, S, T, U, V, W, X, Y, Z
 1個 : A, D, O, P, Q, R
 2個 : B

・入力される値
 入力は以下のフォーマットで与えられます
   s
 sは大文字アルファベット1文字
 入力値最終行の末尾に改行が1つ入ります。
 文字列は標準入力から渡されます。

・期待する出力
 入力されたアルファベットの囲われた部分の数を出力し、最後に改行して出力してください。

・条件
 すべてのテストケースにおいて、以下の条件をみたします。
   s は A ~ Z のいずれかの1文字

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

/*
C言語によるアルファベットの穴の数
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<stdio.h>
#include<string.h>
int main(void){
    char s[5];
    scanf("%s",s);
    if(strcmp(s,"A")==0 || strcmp(s,"D")==0 || strcmp(s,"O")==0 || strcmp(s,"P")==0 || strcmp(s,"Q")==0 || strcmp(s,"R")==0){
        printf("1\n");
    }else if(strcmp(s,"B")==0){
        printf("2\n");
    }else{
        printf("0\n");
    }
    return 0;
}
/*
Javaによるアルファベットの穴の数
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);
        String str = sc.nextLine();
        ArrayList list1 = new ArrayList();
        list1.add("A");
        list1.add("D");
        list1.add("O");
        list1.add("P");
        list1.add("Q");
        list1.add("R");
        ArrayList list2 = new ArrayList();
        list2.add("B");
        if(list2.indexOf(str) != -1){
            System.out.println(2);
        }else if(list1.indexOf(str) != -1){
            System.out.println(1);
        }else{
            System.out.println(0);
        }
    }
}

これで「Dランク早解きセット」の全20題を解き終えました。

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