LEVEL
|
あなたはプログラミングが得意な冒険者です。あなたは「雨降りのダンジョン」にたどり着きました。
このダンジョンでは、月曜から日曜の1週間の天気予報をもとに、強酸性の雨を避けて、進んでいかなければなりません。
しかし、手に入れられる天気予報は、7日のうち火曜から土曜のどこか1日が欠けています。この欠けた日の天気を正しく推測しなければ、無駄な時間を費やしたり、強酸性の雨によってダメージを受けたりします。
あなたは、プログラミングが得意な冒険者として、コードを工夫して、ダンジョンを突破してください。
(この問題はCodeIQが初出です。詳しくはページ末の初出と解説をご覧下さい)
変数「q」として与えられる配列は「[1, 2, 4, 2, 0, 1, 2]」のような要素数7の配列です(月曜~日曜に対応しています)。
この配列の各要素には、1(晴れ)、2(曇り)、4(雨)のいずれかの値が入っています。また、要素1~5のいずれかの値が欠如しており、0(不明)となっています(最初と最後の要素には0は入りません)。
要素の値が0(不明)の場合は、前後の要素の値を合計して6以上の場合は「雨」と見なします。つまり「4, 0, 2」「4, 0, 4」「2, 0, 4」の並びの時には、0を4(雨)と見なします。それ以外の時は1(晴れ)と見なします。
あなたが戻す値は、雨の場合は1、その他の場合は0、が各要素に入った要素数7の配列です。
以下に例を示します。
例1)「[2, 4, 4, 4, 1, 0, 1]」の場合は
「[0, 1, 1, 1, 0, 0, 0]」を戻す。
※0と前後の並びは「1, 0, 1」。
前後の合計は「1 + 1 = 2」なので6未満。
そのため、0は1「晴れ」と見なす。よって戻す値は0。
例2)「[1, 2, 0, 2, 4, 1, 2]」の場合は
「[0, 0, 0, 0, 1, 0, 0]」を戻す。
※0と前後の並びは「2, 0, 2」。
前後の合計は「2 + 2 = 4」なので6未満。
そのため、0は「晴れ」と見なす。よって戻す値は0。
例3)「[1, 0, 4, 1, 1, 4, 2]」の場合は
「[0, 0, 1, 0, 0, 1, 0]」を戻す。
※0と前後の並びは「1, 0, 4」。
前後の合計は「1 + 4 = 5」なので6未満。
そのため、0は「晴れ」と見なす。よって戻す値は0。
例4)「[4, 2, 4, 0, 2, 4, 2]」の場合は
「[1, 0, 1, 1, 0, 1, 0]」を戻す。
※0と前後の並びは「4, 0, 2」。
前後の合計は「4 + 2 = 6」なので6以上。
そのため、0は「雨」と見なす。よって戻す値は1。
例5)「[1, 4, 1, 4, 4, 0, 4]」の場合は
「[0, 1, 0, 1, 1, 1, 1]」を戻す。
※0と前後の並びは「4, 0, 4」。
前後の合計は「4 + 4 = 8」なので6以上。
そのため、0は「雨」と見なす。よって戻す値は1。
本問題では、この問題の答えを表すコードを、入力欄に記載します。
ヒントなしで解きたい方は、ヒントを表示しないで挑戦してください。下の方のヒントほど、より直接的なヒントになります。
レベル1用変数「q」をループ処理で順番に処理していき、0の場合のみ、違う処理を行えばよいでしょう。 0は要素の先頭と末尾には来ないので、1つ前、1つ後の値を取る時に、特別な処理は必要ありません。
判定を行う方法が制限されています。とはいえ、出てくる数字の種類と組み合わせはわずかしかありません。 配列の要素に答えを格納して、添え字により条件分岐をさせるなど、工夫すれば解くことができます。
「禁止文字を使わず」「指定の文字数内に収まる」ように、以下の入力欄(下記コードのの部分)を埋めてください。改行は1文字として数えます。
※ 初出時のレギュレーション:解答の確認は、出題時点で最新の「Google Chrome」としていました。
本問題の初出はCodeIQになります。その問題を、転載の許可を取って、本サイトに掲載しています。
「CodeIQ」は、ITエンジニア向け実務スキル評価サービスです。転職サイトの一種ですが、現在転職の希望がなくても利用できます。ここでは楽しいプログラミングの問題が、多数出題されています。かく言う私も、様々な変わった問題を出しています。おすすめです。
→CodeIQ(本家サイト、多数の問題が出題)、CodeIQ JOBS(転職情報がまとまっているページ)
本問題の解説記事は、以下から読めます。
各レベルの最短文字数は、以下の通りです。(特殊な値の取り方をしたコードは省いています)
レベル | 平均 | 最短 |
---|---|---|
1 | 82.53文字 | 37文字 |
2 | 104.02文字 | 38文字 |
本問題の画像は、パブリックドメインの画像と、以下のページの素材を利用しています。
開発&著作権者 : 柳井 政和
Web Site : http://puzzleandgame.com/
App Page :
Twitter : ruten
Last Update : 2015-08-23
Release : 2015-08-23
First Appearance : 2015-06-19 CodeIQ
Copyright 2015 Masakazu Yanai.