寝癖頭の解法

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

paizaラーニング: Javaによる「文字列」問題集

paizaラーニングのレベルアップ問題集「Cランクレベルアップセット」からの出典です。
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);
        String N = sc.nextLine();
        int n = Integer.parseInt(N);
        for(int i = 0; i < n; i++){
            String str = sc.nextLine();
            System.out.println(str.length());
        }
    }
}

・STEP: 2 部分文字列

/*
Javaによる「文字列」問題集
STEP: 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);
        String a = sc.nextLine();
        String S = sc.nextLine();
        int count = 0;
        for(int i = 0; i < S.length(); i++)
        if(a.equals(S.substring(i,i+1))){
            count++;
        }
        if(count > 0){
            System.out.println("YES");
        }else{
            System.out.println("NO");
        }
    }
}

・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);
        String str = sc.nextLine();
        int a = Integer.parseInt(str.substring(0,1));
        int b = Integer.parseInt(str.substring(1,2));
        int c = Integer.parseInt(str.substring(2,3));
        int d = Integer.parseInt(str.substring(3,4));
        int ans1 = a + d;
        int ans2 = b + c;
        String Ans1 = String.valueOf(ans1);
        String Ans2 = String.valueOf(ans2);
        System.out.println(Ans1 + Ans2);
    }
}

・STEP: 4 数字の文字列操作(0埋め)

/*
Javaによる「文字列」問題集
STEP: 4 数字の文字列操作(0埋め)
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 num = sc.nextLine();
        switch(num.length()){
            case 1:
                System.out.println("00" + num);
                break;
            case 2:
                System.out.println("0" + num);
                break;
            case 3:
                System.out.println(num);
                break;
        }
    }
}

・STEP: 5 数字の文字列操作(時刻1)

/*
Javaによる「文字列」問題集
STEP: 5 数字の文字列操作(時刻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();
        String Ans1 = str.substring(0,2);
        String Ans2 = str.substring(3,5);
        int ans1 = Integer.parseInt(Ans1);
        int ans2 = Integer.parseInt(Ans2);
        System.out.println(ans1);
        System.out.println(ans2);
    }
}

・STEP: 6 数字の文字列操作(時刻2)

/*
Javaによる「文字列」問題集
STEP: 6 数字の文字列操作(時刻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);
        String str = sc.nextLine();
        String A = str.substring(0,2);
        String B = str.substring(3,5);
        int a = Integer.parseInt(A);
        int b = Integer.parseInt(B);
        int c = b + 30;
        if(c >= 60){
            c = c - 60;
            a = a + 1;
        }
        String ans1 = String.valueOf(a);
        String ans2 = String.valueOf(c);
        if(ans1.length() == 1){
            ans1 = "0" + ans1;
        }
        if(ans2.length() == 1){
            ans2 = "0" + ans2;
        }
        System.out.println(ans1 + ":" + ans2);
    }
}

・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 N = sc.nextLine();
        int n = Integer.parseInt(N);
        for(int i = 0; i < n; i++){
            String str = sc.next();
            int a = Integer.parseInt(str.substring(0,2));
            int b = Integer.parseInt(str.substring(3,5));
            int h = sc.nextInt();
            int m = sc.nextInt();
            int ans1 = a + h;
            int ans2 = b + m;
            if(ans2 >= 60){
                ans2 = ans2 - 60;
                ans1 = ans1 + 1;
            }
            if(ans1 >= 24){
                ans1 = ans1 - 24;
            }
            String Ans1 = String.valueOf(ans1);
            String Ans2 = String.valueOf(ans2);
            if(Ans1.length() == 1){
                Ans1 = "0" + Ans1;
            }
            if(Ans2.length() == 1){
                Ans2 = "0" + Ans2;
            }
            System.out.println(Ans1 + ":" + Ans2);
        }
    }
}

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