2021年10月18日
情報オリンピック日本委員会
問題 3
|
運動会 (Sports Day) (配点 100点)
時間制限 : 2 sec / メモリ制限 : 1024 MB
|
|
解説
次の 2 つのステップをそれぞれ処理すればよい:
- 文字列 S 中に含まれる文字 `R` の個数を数え,
- それが K-1 であれば `R` と,K であれば `W` と出力する.
1 つ目のステップに関しては,プログラミング言語によって主に以下の実装方法が考えられる.
- C/C++ や Python などの主要な言語では,繰り返し処理を for 文や while 文などで書ける.それを使って S の各文字を 1 つずつ調べ,`R` を見つけるたびに変数に 1 を加算すればよい.
- Python のようなモダンな言語では,「文字列中のある文字を数える」といった素朴な処理をはじめから関数として用意していることがある.それを用いて実装してもよい.
C++ による実装例では前者を,Python による実装例では後者を採った.
2 つ目のステップは,比較・条件分岐によって場合分けを実現し,それぞれで標準出力に出力すればよい.