ABC-071 B – Not Found 解説

皆さん、こんにちは!

今回はABC-071のB問題「Not Found」について解説していきたいと思います!

概要

英子文字からなる文字列 Sが与えられる。 Sに登場しない英子文字のうち、辞書順最小のものを出力せよ。 Sにアルファベットすべてが登場している際には None を出力せよ。

制約

解説

今回必要なのは 「Sに含まれているアルファベットが何か」という情報のみです。

そのため、S全体を記憶しておく必要はありません。 Sの入力を終えたらsetに入れてしまいましょう。 下記の例のように、本問では「Sにはa,cのみ含まれている」という情報のみが必要なので、setを利用しても問題ないことがわかります。

ccccccaaaaa → a,c

Sにどのアルファベットが含まれているかを記憶したsetを作成してしまえば、あとはアルファベットを全探索して

・その文字列がSのsetに含まれていなければ、その文字を出力

・すべてのアルファベットが含まれている際には’None’を出力

というようにしてしまえばACとなります。

解答コード