寝癖頭の解法

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

paizaラーニング: 文字列末尾の書き換え(C, Python, Java)

文字列の入力から末尾を書き換える問題と、その提出コードの解答例です。
paizaラーニングのレベルアップ問題集「Dランク早解きセット」からの出典です。
paiza.jp
・問題「たぶん...」
 自分に自信のない山田くんは、発言の最後に必ず「たぶん...」と言います。
 そんな山田くんの発言を、自信を持って断定する口調に変えてあげましょう。

・入力される値
 入力は以下のフォーマットで与えられます
   s
 sは、", maybe." (空白を含む8文字)で終わる文字列
 入力値最終行の末尾に改行が1つ入ります。
 文字列は標準入力から渡されます。

・期待する出力
 sの末尾の ", maybe." を "!!" に変更して出力してください。

・条件
 すべてのテストケースにおいて、以下の条件をみたします。
   15 ≤ (sの長さ) ≤ 30

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

/*
C言語による文字列末尾の書き換え
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include <stdio.h>
#include <string.h>
void del(char *s1, char *s2){
    char *p=s1; 
    p=strstr(s1,s2);
    if(p!=NULL) {
        strcpy(p,p+strlen(s2));
        del(p+1,s2);
    }
}
int main(void){
    char s[31];
    char del_str[]=", maybe.";
    fgets(s,sizeof(s),stdin);
    del(s,del_str);
    printf("%s!!\n",s);
    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();
        String ans = str.replace(", maybe.","!!");
        System.out.println(ans);
    }
}
#Pythonによる文字列末尾の書き換え
#https://paiza.jp/works/mondai
#提出コードの解答例
#https://neguse-atama.hatenablog.com
str = input()
print(str.replace(', maybe.','!!'))

Pythonのバージョンは、3.x に対応します。

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