PuzzleAndGame.com

母の日のダンジョン

※ バグを見つけたら、お気軽にご連絡ください(メール/Twitter

母の日のダンジョン

● 母の日のダンジョン - LEVEL
LEVEL

 あなたはプログラミングが得意な冒険者です。あなたは「母の日のダンジョン」にたどり着きました。

 このダンジョンでは、刻まれた文字から「mother」の文字を見つけることで、扉を開けられます。ぐずぐずしたり、間違うと、モンスターに囲まれてやられます。

 また、このダンジョンは、下の階に行くほどレベルが上がり、答えを導き出すのが難しくなります。

 あなたは、プログラミングが得意な冒険者として、コードを工夫して、ダンジョンを突破してください。

(この問題はCodeIQが初出です。詳しくはページ末の初出と解説をご覧下さい)


● 問題の内容

 変数「q」として与えられる文字列は「hreomteotrmhhteomrthreommroethtomher」のような、「m」「o」「t」「h」「e」「r」の6種の文字で構成されています。

 この文字列を左から見ていき、最初に出てくる「m」、その後に出てくる最初の「o」、その後に出てくる最初の「t」、その後に……として、「mother」の文字を1セット探します。そして、それ以外の文字を全て「_」で塗りつぶした文字列を作成します。

 以下に例を示します。


例1)「hreomteotrmhhteomrthreommroethtomher」の場合は
   「____m__ot__h__e__r__________________」を戻す。

例2)「eormhthortmerheotmetmhorromtehtrhemo」の場合は
   「___m___o_t___he________r____________」を戻す。

例3)「rmetohhroemthomretrhoetmrehmothtreom」の場合は
   「_m__o______th___e_r_________________」を戻す。

例4)「otrmehhemrtorhmoterehmottomrehtmoehr」の場合は
   「___m_______o____t___h_______e______r」を戻す。

 本問題では、この問題の答えを表すコードを、入力欄に記載します。


● ヒント

 ヒントなしで解きたい方は、ヒントを表示しないで挑戦してください。下の方のヒントほど、より直接的なヒントになります。

レベル1用
 変数「q」を1文字ずつ取り、文字列「mother」の1文字ずつと比較して分岐していくとよいでしょう。

レベル2用
 ループの代わりに「function」を使うとよいでしょう。

レベル2用
 比較の代わりに文字の位置の探索などを使うとよいでしょう。

● 解答方法

「禁止文字を使わず」「指定の文字数内に収まる」ように、以下の入力欄(下記コードのの部分)を埋めてください。改行は1文字として数えます。

※ 初出時のレギュレーション:解答の確認は、出題時点で最新の「Google Chrome」としていました。


● 問題
◆ 条件
レベル切り替え: 問題トップ
◆ 問題生成コードと生成データ
◆ 解答入力コード
◆ 出力


● 初出と解説

 本問題の初出はCodeIQになります。その問題を、転載の許可を取って、本サイトに掲載しています。

 「CodeIQ」は、ITエンジニア向け実務スキル評価サービスです。転職サイトの一種ですが、現在転職の希望がなくても利用できます。ここでは楽しいプログラミングの問題が、多数出題されています。かく言う私も、様々な変わった問題を出しています。おすすめです。

CodeIQ(本家サイト、多数の問題が出題)、CodeIQ JOBS(転職情報がまとまっているページ)

 本問題の解説記事は、以下から読めます。

 各レベルの最短文字数は、以下の通りです。(特殊な値の取り方をしたコードは省いています)

レベル 平均 最短
1 98.31文字 42文字
2 100.36文字 62文字

● 素材

 本問題の画像は、パブリックドメインの画像と、以下のページの素材を利用しています。

関連書籍


情報

開発&著作権者 : 柳井 政和

Web Site : http://puzzleandgame.com/

App Page :

Twitter : ruten


Last Update : 2015-08-23

Release : 2015-08-23

First Appearance : 2015-05-15 CodeIQ

Copyright 2015 Masakazu Yanai.

QR コード