パナソニックグループ プログラミングコンテスト2024(AtCoder Beginner Contest 375)の解説記事です。
目次
ABC375 A – Seats
問題
問題文の要約は以下の通りです。
問題の要約
座席の状態が #
, .
からなる長さ \(N\) の文字列 \(S\) で表され、\(S\) の \(i\) 文字目が #
の場合、その座席には人が座っていることを表しており、\(S\) の \(i\) 文字目が .
の場合、その座席は空いていることを表しています。整数 \(i\)(\(1 \leq i \leq N – 2\))のうち、座席 \(i\) と \(i + 2\) に人が座っており、座席 \(i + 1\) は空いているものの個数を求めよ。
解説
文字列の先頭から#.#
となっているか判定する
解説
入力を受け取ります。
# 入力
N=int(input())
S=input()
答えを表す変数を用意します。
# 答えを表す変数
ans=0
文字列の先頭から#.#
となっているか判定します。
# 順番に #.# となっているか判定する
for i in range(N-2):
if S[i]=='#' and S[i+1]=='.' and S[i+2]=='#':
ans+=1
答えを出力します。
# 答えを出力
print(ans)
解答
# 入力
N=int(input())
S=input()
# 答えを表す変数
ans=0
# 順番に #.# となっているか判定する
for i in range(N-2):
if S[i]=='#' and S[i+1]=='.' and S[i+2]=='#':
ans+=1
# 答えを出力
print(ans)