問題2 - しりとり

単語(文字列)を順次入力して, それが前の単語の末尾の文字から始まっているかどうかを 調べ続けるプログラムを作成する. 入力される単語の文字数には適当な上限があるものとし, 大文字と小文字は別のものとして扱うこととする. 条件が成立しなくなったら, 「fail」と表示してプログラムを終了する.

動作例はこんなかんじ (青字はユーザからの入力):

word? program
word? make
word? end
word? dream
word? media
word? August
failed

レベル 1

同じ単語を何度も使ってよい, という前提でプログラムを作成する.

レベル 2

同じ単語は一度しか使えない, という前提でプログラムを作成する. (そのためには, 以前使われた単語をすべて記憶しておかないといけない.) この場合, 使われる単語の総数に適当な上限を設定してよい.

テストの入力としては, しりとりの条件を満たした上で,

  1. 最初に入力した単語
  2. 直前に入力した単語
  3. 過去に入力した単語の最後に一文字付加した単語
  4. 過去に入力した単語の最後を一文字削除した単語
などを与えてみる. たとえば
word? abaa
word? abaaa (テスト条件の3)
word? aba (テスト条件の4)
word? aba (テスト条件の2)
failed
など.
prev index next