寝癖頭の解法

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

paizaラーニング: アンダーラインの追加(C, Python, Java)

入力した文字列の下にアンダーラインを再現する問題と、その提出コードの解答例です。
paizaラーニングのレベルアップ問題集「Dランク早解きセット」からの出典です。
paiza.jp
・問題「アンダーライン」
 入力した文字列にアンダーラインをするプログラムを作成することにしました。
 しかし、テキスト上でアンダーラインを追加することはできないので、
 アンダーラインの代わりに文字列の下に、文字列の長さの分だけ ^ を追加することで
 アンダーラインを再現することにしました。
 入力された文字列に、^ によるアンダーラインを追加して出力してください。

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

・期待する出力
 任意の文字列 zzzzz が入力されたとき、
   zzzzz
   ^^^^^
 を表示してください。
 (ただし、^ の個数は入力された文字列の長さと同じにしてください。)

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

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

/*
C言語によるアンダーラインの追加
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include <stdio.h>
#include<string.h>
int main(void){
    int loop,len;
    char s[1000];
    fgets(s, sizeof(s), stdin);
    printf("%s\n",s);
    len=strlen(s);
    for(loop=0;loop<len;loop++){
        printf("^");
    }
    putchar('\n');
    return 0;
}
/*
Javaによるアンダーラインの追加
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();
        System.out.println(str);
        for(int i = 0; i < str.length(); i++){
            System.out.print("^");
        }
    }
}
#Pythonによるアンダーラインの追加
#https://paiza.jp/works/mondai
#提出コードの解答例
#https://neguse-atama.hatenablog.com
str = input()
num = len(str)
print(str)
for i in range(num):
    print("^",end="")

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

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