1 はどこにある?

#お題

N 個の整数 a_1, a_2, ..., a_N が与えられます。
a_1, a_2, ..., a_N のうち、1 がある位置を先頭から順に改行区切りで出力してください。
a_1 を 1 番目とし、a_1, a_2, ..., a_N には少なくとも 1 個は 1 が含まれます。

 

 

#入力

N
a_1 a_2 ... a_N

・ 1 行目に整数 N が与えられます。
・ 2 行目に N 個の整数 a_1, a_2, ..., a_N が与えられます。
・ a_1, a_2, ..., a_N には少なくとも 1 個は 1 が含まれます。

 

 

 

#出力

a_1, a_2, ..., a_N のうち、1 がある位置を先頭から順に改行区切りで出力してください。

 

 

 

#コード

n = int(input())
a = [int(x) for x in input().split()]

cnt = 1

for i in a:
    if i == 1:
        print(cnt)
    cnt += 1

 

 

 

#参考

N = int(input())
a = list(map(int, input().split()))

for i in range(N):
    if a[i] == 1:
        print(i + 1)
  • ループ処理を用いて a[0] ~ a[N-1] を順番に見ていき、1 だった場合はその場所を改行区切りで出力します。
  • 位置を出力するとき、a_1 を 1 番目とするので、i+1 を出力しています。