タムログ

プログラミングについての情報発信をしていきます!

AtCoder Beginner Contest 160 A をPythonで

AtCoder Beginner Contest 160 A をPythonで解いて解説してみました。
初心者でもわかりやすいように丁寧に説明していきます。
まずは問題文から。
https://atcoder.jp/contests/abc160/tasks/abc160_a


A – Coffee


実行時間制限: 2 sec / メモリ制限: 1024 MB

配点 : 100 点

問題文

ある長さ 6 の英小文字からなる文字列がcoffeeに似ているとは、3 文字目と 4 文字目が等しく、5 文字目と 6 文字目も等しいことを言います。
与えられる文字列 S がcoffeeに似ているか判定してください。

制約

  • S は長さ 6 の英小文字からなる文字列である。

入力

入力は以下の形式で標準入力から与えられる。

S

出力

S がcoffeeに似ている場合 'Yes' を、そうでない場合 'No'を出力せよ。


解説

標準入力で与えられる文字列 S の3文字目と4文字目,5文字目と6文字目がそれぞれ等しいか判定するという問題です。
この問題通りに実装してあげれば良いです。
ただし,S の三文字目は S[2] で得られることに注意してください。Python では,要素の番号は0から始まるので,例えば S=’coffee’ であるとき,
S[0] = 'c’ ,S[1] = 'o’
のようになります。

また,文字が等しいかどうかを判定するときは,= ではなく == を用います。= は引数への代入を表してしまいます。

以上より, S の3文字目と4文字目が等しく,さらに5文字目と6文字目も等しいという条件は,
S[2] == S[3] and S[4] == S[5]
となります。
これを if 分岐で表してあげれば良いです。
では,以下に解答例を載せておきます。

解答例

s = input()

if s[2] == s[3] and s[4] == s[5]:
    print('Yes')
else:
    print('No')

いかがだったでしょうか。
もし分からないところ等があればコメントしてくださいね!
それでは!