AtCoder ABC 219 B – Maritozzo Python解説

スポンサーリンク

Maritozzo

英小文字からなる 3 つの文字列 S1,S2,S3と、1、2、3 のみからなる文字列 T が与えられます。
T の各文字に対応する文字列を連結してできる文字列を出力してください。より厳密には、以下の指示にしたがって文字列を出力してください。
1≤i≤∣T∣ を満たす整数 i に対し、文字列 siを次のように定める。
T の i 文字目が 1 のとき、S1
T の i 文字目が 2 のとき、S2
T の i 文字目が 3 のとき、S3
s1,s2,…,sTをこの順に連結してできる文字列を出力する。

AtCoder Beginner Contest「Maritozzo」

文字列S1, S2, S3と文字列Tが与えられるので、文字列Tの文字が1ならS1、2ならS2、3ならS3をそれぞれ足していきます。

s1 = input()
s2 = input()
s3 = input()

t = input()
ans = ""

for i in t:
    if i == "1":
        ans += s1
    elif i == "2":
        ans += s2
    else:
        ans += s3
        
print(ans)

条件文を使わずに、配列で処理することもできます。配列で処理する場合は、配列のデータが0から始まるので、文字列Tから受け取る数値を-1する必要があります。

a = [input() for _ in range(3)]
t = input()

ans = ""

for i in t:
    ans += a[int(i) - 1]
    
print(ans)

AtCoderB問題

Posted by cheese