Codeへの愛とCuriosity

CodeIQ への出題・解説解題・その周辺について、思いつくままに。

先日のどう書く

先日( 2013年11月1日 )に、どう書く( see http://atnd.org/events/43825 )を主催した。
CodeIQ に出題( see https://codeiq.jp/ace/nabetani_takenori/ )させていただいている関係で CodeIQ からの取材が入った。
びっくり。

CodeIQ MAGAZINE
https://codeiq.jp/magazine/2013/11/1559/
に記事が載った。

続けているといいことあるね、と思ったことであるよ(詠嘆)

CodeIQ MAGAZINE とかぶる部分もあるけど、まずはイベントの紹介。

この勉強会は

  1. 私が問題を出す
  2. みんなでそれを実装する
  3. みんなで自分の書いた内容について(あるいは、どこまで書けたかについて)発表する

という、非常にシンプルな勉強会になっている。
上記のとおりで、「今回は◯◯を使った問題です」のようなことは全然なく、ただ漫然と問題が出て、問題を解いてもらうようになっている。

実際に集まって行うので、会場なんかの都合もあり、制限時間がある。1時間。
まあ多少は延長したりするけど。

難易度の目標は、参加者の半分以上正解し、二人以上不正解するというもの。
今回については目標通りになった。

で。

今回の問題は「異星の電光掲示板」という名前で
http://nabetani.sakura.ne.jp/hena/ord15elebubo/
こんな内容( ChromeOpera では若干レイアウトが崩れるようですいません )。

出題者の気分としては、ちょうどいいか、あるいはもう少し難しくても良かったかぐらいの感触だった。

問題を作るときに思っていたことを少々。

以前から、画像認識とか OCR の問題を出したいと思っていたんだけど、どう書くなので、1時間で解ける難易度と分量にする必要があって、どうしたもんかと思っていた。
で。
きっかけは覚えていないんだけど、電光掲示板への入力ということを思いついて問題にすることができるようになった。

分量を減らすため、電光掲示板は32×2セル。32ってのはほとんどすべての言語で困らずに扱えるビット数というつもり。
縦二段で表現できる文字は限られているので、異星ってことに。文字の種類は、これも問題の分量を減らすために、8種類。
アルファベットとの対応がわかりやすい形を選んだ。L の直後に T や、R の直後に Z が来る場合にどうやって文字を分離するかというのがこの問題の面白味の重要な部分だと思っているけど、どうだろう。

CodeIQ に私が今 出している問題( https://codeiq.jp/ace/nabetani_takenori/q524 )も、マス目が出てきたり形の判定が出てきたりするという点はこの問題と似ているかも(似てないかも)しれないので、そちらもよろしく。