AtCoder Beginner Contest 396の解説記事です。
目次
ABC396 A – Triple Four
問題
問題文の要約は以下の通りです。
問題の要約
長さ \(N\) の整数列 \( A = \left( A_1, A_2, \dots, A_N \right) \) が与えられる。\(A\)の中に同じ要素が \(3\) つ以上連続する箇所が存在するか判定せよ。 より厳密には,\(1 \leq i \leq N-2\) なる整数 \(i\) に対して \( A_i = A_{i+1} = A_{i+2} \) を満たすものが存在するかどうかを判定せよ。
解説
for
文を用いて、\( A_i, A_{i+1}, A_{i+2} \) が等しい個所があるか判定する。
解説
入力を受け取ります。
# 入力
N=int(input())
A=list(map(int,input().split()))
連続する 3 つの要素 \( A_i, A_{i+1}, A_{i+2} \) が等しいか判定し、条件を満たすとき Yes
を出力し、終了します。ループが終了し、条件を満たす箇所がないときは No
を出力します。
# 連続する 3 つの要素 A[i], A[i+1], A[i+2] が等しいか判定
for i in range(N-2):
if A[i]==A[i+1]==A[i+2]:
# 条件を満たしたので 'Yes' を出力し、終了
print('Yes')
exit()
# ループが終了し、条件を満たす箇所がないときは 'No' を出力
print('No')
解答
# 入力
N=int(input())
A=list(map(int,input().split()))
# 連続する 3 つの要素 A[i], A[i+1], A[i+2] が等しいか判定
for i in range(N-2):
if A[i]==A[i+1]==A[i+2]:
# 条件を満たしたので 'Yes' を出力し、終了
print('Yes')
exit()
# ループが終了し、条件を満たす箇所がないときは 'No' を出力
print('No')