タムログ

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

AtCoder Beginner Contest 170 A を Python で

AtCoder Beginner Contest 170 A 問題を Python で解説していきたいと思います。
それでは,まずは問題文から。


A – Five Variables

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

配点 : 100 点

問題文

5 つの変数 x1,x2,x3,x4,x5 があります。

最初、変数 xi には整数 i が代入されていました。

すぬけくんは、これらの変数の中から 1 つを選んで、その変数に 0 を代入する操作を行いました。

すぬけくんがこの操作を行ったあとの 5 つの変数の値が与えられます。

すぬけくんが 0 を代入した変数がどれであったかを答えてください。

制約

  • 入力として与えられる x1,x2,x3,x4,x5 の値は、すぬけくんが操作を行ったあとのものとしてありえるものである。

入力

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

x1 x2 x3 x4 x5

出力

すぬけくんが 0 を代入した変数が xi であるとき、整数 i を出力せよ。


入力例 1

0 2 3 4 5

出力例 1

1

この場合、すぬけくんが 0 を代入した変数は x1 なので、1 を出力します。


入力例 2

1 2 0 4 5

出力例 2

3


解説

整数0~5の値が標準入力で渡されて,その中で0は何番目に渡されるかを出力せよという問題です。ここでは,整数をリスト型で受け取るとやりやすいでしょう。受け取った後に,for 文で回して,0になる番号を出力します。ここで注意するのは,for 文でまわす値はインデックス番号であり,これは0から始まる番号であるので,実際に出力する値(1~5)にするために,出力時にはインデックス番号に1を足した値を出力します。それでは,解答例に移ります。

解答例

x = list(map(int, input().split()))
 
for i in range(len(x)):
    if x[i] == 0:
        print(i+1)

いかがだったでしょうか。
リストで受け取るとやりやすいことが分かってもらえれば良いなと思います。
もし分からないところがあれば twitter で気軽にどうぞ。

少しでも参考になれば,twitter のフォロー,ファボ,RTよろしくお願いします。
それでは!