前置き
皆さん、こんにちは!
今回はABC-295のA問題「Probably English」について解説していきたいと思います!
(https://atcoder.jp/contests/abc295/tasks/abc295_a)
目次
- 問題概要
- 制約
- 入力形式
- 解説
問題概要
英小文字の$N$個の文字列$W_1, W_2, \cdots W_N$が与えられる。
これらのうち一つ以上がand
, not
,that
.the
,you
のいずれかと一致するならばYes
を出力。
そうでない場合はNo
を出力。
制約
$1 \leq N \leq 100$
文字列$W_i (i=1 \cdots N)$の長さは$1以上50以下$
入力形式
N
W_1 W_2 …… W_N
解説
問題文を言い換えると下記のようになります。
$W_1,W_2,…W_N$のうち、どれか一個でも[and,not,that,the,you]に含まれている場合は$Yes$と出力する。
つまり、
①[and,not,that,the,you]というリストを作成
②$W_1,W_2 \cdots W_N$を一個ずつ調べていって、$W_i(i=1 \cdots N)$が①で作成したリストに含まれていればYesを出力。
③それ以外の場合にはNoを出力。
という流れで解けばよいことがわかります。
その過程を実装したのが下記コードです。
$W_i$がリストに含まれているかの判定にはin関数を用いています。
in関数
N = int(input())
li = list(map(str,input().split()))
st = ['and','not','that','the','you']
for i in li:
if i in st:
print('Yes')
break
else:
print('No')