KLab株式会社 採用情報
天下一プログラマーコンテスト 2015 > 問題解説

予選B-B 「天下一リテラル」

問題文はこちら

構文解析を行うことで辞書型なのか集合型なのかを判別して答えを出すこともできますが、よりシンプルな解法が存在します。

最も外側にある{}にのみ囲まれた:の有無を確認することで判別することができます。

左から右へSを走査した場合、{の個数 - }の個数 == 1となる位置にある文字のみを考えれば良いことになります。

その上で:が存在するならばdictになり、:が存在しない場合はsetになります。ただし、{}の場合は例外で、dictになります。