この記事は 『AtCoder ABC251~275 ARC140~151 灰・茶・緑問題 超詳細解説』 のサンプルです。
値段:300円(Kindle Unlimited対象)
【kindle】
https://www.amazon.co.jp/dp/B0BRNTM9Z4
【booth(pdf)】
https://sano192.booth.pm/items/4455120
ARC140~151の部分のみ抜粋した廉価版 もあります。
値段:200円(Kindle Unlimited対象)
【kindle】
https://www.amazon.co.jp/dp/B0BRNRXPCV
【booth(pdf)】
https://sano192.booth.pm/items/4455133
【サンプル一覧】
ABC251 A:https://qiita.com/sano192/items/810a4a7d5cf61321bb05
ABC262 B:https://qiita.com/sano192/items/8a9cc91d73a798de6a54
ABC256 C:https://qiita.com/sano192/items/c52d24d0cdf3797a77d7
ABC259 D:https://qiita.com/sano192/items/e39d3636c1ea5d62c1bb
「ものすごく丁寧でわかりやすいABC解説」シリーズをベースに【キーワード】【どう考える?】【別解】を追加し、【解説】と【実装のコツ】を分けることでよりわかりやすく、具体例や図もより豊富に全ての問題の解説を書き直しました!
さらにQiitaでは公開していないARC140~151の灰・茶・緑問題も解説しています!
緑を目指す灰・茶コーダーの方へおすすめ!
【キーワード】
なし
【どう考える?】
Sの文字数によっていくつSをくっつけるかを確認して条件分岐する。文字列の扱い方、ifの使い方がわかっていれば簡単。
【解説】
Sの文字数を数えて条件分岐する。
・1文字→Sを6個くっつける
・2文字→Sを3個くっつける
・3文字→Sを2個くっつける
文字数の確認方法などは【実装のコツ】を参照。
【実装のコツ】
<文字数の確認>
文字数はlen(文字列)とすることで確認できる。
lenはlength(長さ)の意味。
<文字の連結>
文字列についても足し算や掛け算の記号が使える。
すなわちSを3個くっつけるなら
S+S+S
か
S*3
と書けばいい。
<ifの書き方>
if 条件:
処理内容
elif 条件:
処理内容
else:
処理内容
if,elifは「条件を満たせば」→「処理内容を行う」という意味。コードの上から順に処理を行っていく。
elseは「そうでなければ」すなわち「if,elifの条件が満たされなければ」→「処理内容を行う」という意味。
【提出】
# 入力の受け取り
S=input()
# 文字数が1の場合
if len(S)==1:
# Sを6個くっつけて出力
print(S*6)
# 文字数が2の場合
elif len(S)==2:
# Sを3個くっつけて出力
print(S*3)
# それ以外(文字数が3の場合)
else:
# Sを2個くっつけて出力
print(S*2)