PuzzleAndGame.com

バグハンターのダンジョン

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

バグハンターのダンジョン

● バグハンターのダンジョン - LEVEL
LEVEL

 あなたはプログラミングが得意な冒険者です。あなたは、バグを大量に倒さないといけない「バグハンターのダンジョン」にやって来ました。

 そのダンジョンでは、文字列の中から「bug」という並びを見つけて、すべて「000」(ゼロ3つ)に置き替えなければなりません。

 このダンジョンは、下の階に行くほどレベルが上がり、バグを倒すのが難しくなります。あなたは、プログラミングが得意な冒険者として、コードを工夫して、見事ダンジョンを攻略してください。

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


● 問題の内容

 文字列変数「t」の中から「bug」という並びを見つけて、すべて「000」(ゼロ3つ)に置き換えて、配列「arr」に結果を格納します。以下、例です。


元の文字列)  abgdbugcugubugcb
置換後の文字列)abgd000cugu000cb

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


● ヒント

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

レベル1用
 置換関数を使わずに置換を行う際は、検索語で文字列を分割して、置換語を間に挟んで結合するという操作になります。

レベル2用
 "bug"という文字列を作る方法は、複数あります。たとえばオブジェクトのキー名などは、その1つです。また、Stringの仕様を調べると、様々なメソッドがあります。

レベル3用
 Stringやfunctionが使えます。強引にメソッドを作り出す以外にも、普通にアルゴリズムを書いて解くこともできます。

● 解答方法

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

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


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


● 初出と解説

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

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

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

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

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

レベル 平均 最短
1 26.39文字 26文字
2 70.23文字 42文字
3 149.59文字 88文字

● 素材

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

関連書籍


情報

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

Web Site : http://puzzleandgame.com/

App Page :

Twitter : ruten


Last Update : 2015-08-22

Release : 2015-08-22

First Appearance : 2014-04-28 CodeIQ

Copyright 2014 Masakazu Yanai.

QR コード