Subscribed unsubscribe Subscribe Subscribe

ジャバ・ザ・ハットリの日記

日本→シンガポール→ベルリンへと家族と共に流れ着き、ベルリンのスタートアップで働くソフトウェアエンジニアの日記

【パズル7】ほとんどのエンジニアには解けるパズル7(CUBES)

パズル プログラミング

エンジニア向けのパズルシリーズの7作目を公開した。今回のタイトルは「CUBES」。サイトにアクセスいただくと、読んで字のごとくCUBESがズラッとある。(スマフォで見るのはちょっとキツいかも)
f:id:tango_ruby:20160226003405p:plain:W600

前回までのパズルに挑戦いただいた方から「ミスマッチを防ぐために事前にどんな知識を問う問題なのかを明示して欲しい」というご意見をいただいた。なのでハッキリさせる。

不要なモノ

  • 英語ほぼ不要
  • ツール不要(ウェブブラウザのみ)
  • 技術知識ほぼ不要

必要なモノ

  • 変な問題を前にした時にも美しく完璧なアルゴリズムを生み出しサッと解決してしまうエンジニア的な勘の鋭さ

まず今回のパズルはいつもよりビジュアルに凝って作った。前回「英語キツい」と言う方がいらっしゃったが、今回は英語で詰まる人はまず居ない。問題の出題がほぼ動く図だけで完了するからだ。

特定の技術を知っておく必要は無いし、ツールも使わない。解答は全てサイトにあるフォームに答えを入力してOkボタンを押すだけ。

今回のパズルで「次に何をすればいいのか分からない」と言ってしまう人は皆無だろう。

だからと言って、カンタンなパズルという訳ではない。
プログラム言語は問わないが、エンジニアにとっては不可欠な問題解決にあたっての美しいアルゴリズムを生み出すセンスが必要だ。問題自体は誰でも理解できるが、それを解くのはちょっと難しくて、センスが必要。
間違いなく言えることはトップに躍り出て来る方達は極めてアルゴリズム系の勘が鋭い方だ、ということ。作者ではなく挑戦者としてパズルに参加していたら、トップ10に入るのはキツいだろうな、と思いながらいつもトップリストを眺めている。なのでトップ解答者には尊敬と感謝を込めて、その勝利コメントをブログにて紹介させていただくつもり。

パズル7の最後の問題はもし間違った解答を入力すると、問題の数値などが再設定される仕組みにした。これはなにもイジワルをしている訳ではない。要は近似値を使うのではなく、完璧なアルゴリズムで正しい答えを持つ人だけが正解者となるようにしたかったからだ。
問題の質から近似値の予想がきっと当たる。例えばある挑戦者が25という答えを入れて、それが間違いだったとする。すると25がダメなら26,27、もしくは24,23と近似値を入力していけばきっと当たる。そういうやり方では正解になって欲しくないのだ。1とか2とかの差に気がついて、そこを完璧にするのが本パズルの面白さのひとつだから。

もし今回の「CUBESパズルをやってやろうか」とお考えであればぜひソーシャルボタンを押して、ご友人にも紹介し挑戦者を増やしていただきたい。トップの解答者欄にコメントを残すのであれば「たくさんの挑戦者の中を勝ち抜いたんだゾ!」となった方が面白いのではないだろうか。

本パズルシリーズの目的である「優秀なエンジニアにパズルを通して楽しんでいただくこと」が達成されていれば幸いである。


【パズル7】ほとんどのエンジニアには解けるパズル7(CUBES)
公開日時:2016年3月3日(木)の午後10時30分(日本時間)公開済み
http://challenge-your-limits7.herokuapp.com/



tango-ruby.hatenablog.com

tango-ruby.hatenablog.com

tango-ruby.hatenablog.com