トヨタシステムズプログラミングコンテスト2022(AtCoder Beginner Contest 279)の解説記事です。
目次
ABC279 A – wwwvvvvvv
問題
問題文の要約は以下の通りです。
問題の要約
\(v\) と \(w\) のみからなる文字列 \(S\) が与えたとき、\(v\) を1、\(w\) を2としたときの合計はいくつか求めよ。
入力
\(S\)
出力
答えを整数として出力せよ。
解説1
for
文で1文字づつv
であるかw
であるか確認する。
解説
まず、答えAns
を0として初期化しておきます。S
のそれぞれの文字s
に対して、s
がv
であればAns
に1を加算、s
がw
ならAns
に2を加算したときの合計が答えになります。
解答
S = input()
Ans = 0
for s in S:
if s == 'v':
Ans += 1
else:
Ans += 2
print(Ans)
解説2
count
を使用する。
解説
S
の中のv
の数とw
の2倍を足し合わせたものが答えになります。文字の数はcount
で求めることができます。
解答
S = input()
print(S.count('v')+2*S.count('w'))
ABC279 B – LOOKUP
問題
問題文の要約は以下の通りです。
問題の要約
英小文字からなる文字列 \(S\) , \(T\) が与えられたとき、 \(T\) が \(S\) の連続する部分文字列かどうか判定せよ。
入力
\(S\)
\(T\)
出力
\(T\) が \(S\) の連続する部分文字列なら Yes
、そうでないなら No
と出力せよ。
解説
in
を使用する。
解説
Pythonでは文字列に対して、部分文字列がどうかをin
で判定することができます。
解答
S=input()
T=input()
if T in S:
print('Yes')
else:
print('No')
if文をprint内でまとめると次のようになります。
S=input()
T=input()
print('Yes' if T in S else 'No')