AtCoder Beginner Contest 093 A問題
競技プログラミングで使える関数を実際の問題を通して紹介いたします。
今回は「配列に指定文字が存在するか確かめる」です。
配列に指定文字が存在するか確かめる
S = input() print(["No","Yes"]["a" in S and "b" in S and "c" in S])
"a" in S により、Sという文字列の中に"a"が入っているか?ということを調べています。正しければTrue(1)、正しくなければFlase(0)を出力します。
コードの改善
競技プログラミングではプログラムの処理完了までの速度も重要な要素の一つですので、より短く簡潔なコードを書くことが重要です。
print(["No","Yes"][set("abc")==set(input())])
「set」は集合を表すデータ型です。set()を通すことにより重複のない文字列を作成することができます。これにより最初にあげたコードよりも簡潔に結果を示すことができます。
独学プログラマー Python言語の基本から仕事のやり方まで
- 作者: コーリー・アルソフ,清水川貴之監訳,清水川貴之,新木雅也
- 出版社/メーカー: 日経BP社
- 発売日: 2018/02/24
- メディア: 単行本
- この商品を含むブログ (2件) を見る