「オフラインリアルタイムどう書く」をLispで


「オフラインリアルタイムどう書く」とは
-------------------------------

[「オフラインリアルタイムどう書く」](http://atnd.org/users/58114#manage)は、月１くらいで横浜で開催されている勉強会です。主催者の[鍋谷さん](http://qiita.com/Nabetani)が準備した「お題」を制限時間１時間でネットの力を借りずに自力で解く、という会です。「お題」は定番の[ポーカー](http://qiita.com/Nabetani/items/cbc3af152ee3f50a822f)や[Tick-Tack-Toe](http://nabetani.sakura.ne.jp/hena/1/)から、[ボンバーマンの爆風の広がりをビット演算で解きましょう](http://nabetani.sakura.ne.jp/hena/ord8biboma/)といったユニークなものまで、おもしろく、ついついハマってしまうものばかりです（今までのお題や解答例を見るには、[こちら](http://qiita.com/tags/yhpg)から辿っていくと便利です）。


「一人オフラインゆるゆるタイムどう書く」
---------------------------------

 [Lisp星人](http://lisperati.com/logo.html)から[指令](http://www.oreilly.co.jp/books/9784873115870/)が来たので、Common Lispの勉強として「オフラインリアルタイムどう書く」を解いていくことにしました。

とりあえずの自分ルールは：

 - マクロを使用しない（`defmacro`等を用いてマクロを定義しない）。
 - 最適化のための宣言は使用しない。
 - [quicklisp](http://www.quicklisp.org/)は使用してもよいが、基礎的なライブラリに限る（[alexandria](http://common-lisp.net/project/alexandria/), [split-sequence](https://github.com/sharplispers/split-sequence), [cl-ppcre](http://weitz.de/cl-ppcre/)など）。
 - なるべくわかりやすいコードを心がける（1年後の自分が理解できるくらい）。
 - 解答はgistで晒す。
 - 制限時間1時間は努力目標。
 - まずはオフラインで解答にたどり着く（ただし、下手の考え休むに似たり状態になったら、とっとと他の方の解答を参考にするか、先送りする）。
 - 自力で解答にたどり着いたらネット解禁。
 - 他の方の解答を読み、参考になる部分を取り入れ、解答を書きなおす（余力があれば）。


未解答のお題
----------

      4. フカシギの通行止め
      9. 数を作る
     13. 増やす減らす二倍する
     16. L被覆             境界線分

問題を解き次第、下にリンクを追加していく予定。ゆるゆる解いてくつもりです。


お題と参考問題と解答
-----------------

「解答:他の言語」から、他の方の解答を見ることができます。参考になります。


 + 第1回 2012-07-06
   - ポーカー
     * [お題](http://qiita.com/Nabetani/items/cbc3af152ee3f50a822f)
     * [解答:Common Lisp](https://gist.github.com/tkych/7822150)
     * [解答:他の言語](http://qiita.com/Nabetani/items/cbc3af152ee3f50a822f)
   - Tick-Tack-Toe
     * [お題](http://nabetani.sakura.ne.jp/hena/1/)
     * [解答1:Common Lisp](https://gist.github.com/tkych/7804206)
     * [解答2:Common Lisp (ビット演算)](https://gist.github.com/tkych/7824725)
     * [解答3:Common Lisp (real man version)](https://gist.github.com/tkych/7825241)
 + 第2回 2012-07-28
   - 二値画像の回転
     * [お題](http://qiita.com/Nabetani/items/9d80de41903775296ca6)
     * [解答:Common Lisp](https://gist.github.com/tkych/7690660)
     * [解答:他の言語](http://qiita.com/Nabetani/items/9d80de41903775296ca6)
   - Bit Tetris
     * [お題](http://nabetani.sakura.ne.jp/hena/ord2/)
     * [解答:Common Lisp](https://gist.github.com/tkych/7639631)
 + 第3回 2012-09-07
   - ボールカウント:野球
     * [お題](http://qiita.com/Nabetani/items/ebd8a56b41711ba459f9)
     * [解答:Common Lisp](https://gist.github.com/tkych/7767363)
     * [解答:他の言語](http://qiita.com/Nabetani/items/ebd8a56b41711ba459f9)
   - Y字路巡り
     * [お題](http://nabetani.sakura.ne.jp/hena/ord3ynode/)
     * [解答:Common Lisp](https://gist.github.com/tkych/7717594)
 + 第4回 2012-10-06
   - フカシギの通行止め
     * [お題](http://qiita.com/items/9c514267214d3917edf2)
   - テトロミノ認識
     * [お題](http://nabetani.sakura.ne.jp/hena/ord4tetroid/)
     * [解答:Common Lisp](https://gist.github.com/tkych/8145584)
 + 第5回 2012-11-09
   - Rails on Tiles
     * [お題](http://nabetani.sakura.ne.jp/hena/ord5railsontiles/)
     * [解答:Common Lisp](https://gist.github.com/tkych/8315049)
     * [解答:他の言語](http://qiita.com/Nabetani/items/0ddde0164a745cd09c34)
   - 大貧民
     * [お題](http://nabetani.sakura.ne.jp/hena/ord5dahimi/)
     * [解答:Common Lisp](https://gist.github.com/tkych/8003482)
     * [解答:他の言語](http://qiita.com/Nabetani/items/5c10c132e1f78131563f)
 + 第6回 2013-01-11
   - L-intersection
     * [お題](http://nabetani.sakura.ne.jp/hena/ord6lintersection/)
     * [解答:Common Lisp](https://gist.github.com/tkych/8053421)
     * [解答:他の言語](http://qiita.com/Nabetani/items/4c60f10b73812e86441c)
   - 続柄
     * [お題](http://nabetani.sakura.ne.jp/hena/ord6kinship/)
     * [解答:Common Lisp](https://gist.github.com/tkych/7767148)
     * [解答:他の言語](http://qiita.com/Nabetani/items/5e1c944541f09f0f9711)
 + 第7回 2013-02-02
   - XY-Sort
     * [お題](http://nabetani.sakura.ne.jp/hena/ord7xysort/)
     * [解答:Common Lisp](https://gist.github.com/tkych/7706920)
     * [解答:他の言語](http://qiita.com/Nabetani/items/7b08b0eb9ef84d7cfe49)
   - のんびり座りたい
     * [お題](http://nabetani.sakura.ne.jp/hena/ord7selectchair/)
     * [解答:Common Lisp](https://gist.github.com/tkych/8020677)
     * [解答:他の言語](http://qiita.com/Nabetani/items/4364285801d1c9f370a1)
 + 第8回 2013-03-01
   - エントロピー符号
      * [お題](http://nabetani.sakura.ne.jp/hena/ord8entco/)
      * [解答1:Common Lisp（反復）](https://gist.github.com/tkych/7627776)
      * [解答2:Common Lisp（再帰）](https://gist.github.com/tkych/8007192)
      * [解答:他の言語](http://qiita.com/Nabetani/items/24b9be4ee3bae4c89a95)
   - ビットボンバーマン
      * [お題](http://qiita.com/Nabetani/items/709d61dff282cff7a890)
      * [解答1:Common Lisp](https://gist.github.com/tkych/7656636)
      * [解答2:Common Lisp (ビット演算)](https://gist.github.com/tkych/7674032)
      * [解答:他の言語](http://nabetani.sakura.ne.jp/hena/ord8biboma/)
 + 第9回 2013-04-06
   - 数を作る
     * [お題](http://nabetani.sakura.ne.jp/hena/ord9nummake/)
   - バス代
     * [お題](http://qiita.com/Nabetani/items/84255ac417ef25069a3b)
     * [解答:Common Lisp](https://gist.github.com/tkych/7785879)
     * [解答:他の言語](http://qiita.com/Nabetani/items/84255ac417ef25069a3b)
 + 第10回 2013-05-10
   - ポーカーの残り+
     * [お題](http://nabetani.sakura.ne.jp/hena/ord10pokarest/)
     * [解答:Common Lisp](https://gist.github.com/tkych/7871585)
     * [解答:他の言語](http://qiita.com/Nabetani/items/d819d1e5f2378317511e)
   - ハニカム歩き
     * [お題](http://nabetani.sakura.ne.jp/hena/ord10haniwa/)
     * [解答1:Common Lisp](https://gist.github.com/tkych/7767430)
     * [解答2:Common Lisp](https://gist.github.com/tkych/7768613)
     * [解答:他の言語](http://qiita.com/Nabetani/items/55641767510c2f9f235f)
 + 第11回 2013-06-01
   - 等差数列
     * [お題](http://nabetani.sakura.ne.jp/hena/ord11arithseq/)
     * [解答:Common Lisp](https://gist.github.com/tkych/7985400)
     * [解答:他の言語](http://qiita.com/Nabetani/items/c206fbc645c255cb7de6)
   - ビットあみだくじ
     * [お題](http://nabetani.sakura.ne.jp/hena/ord11bitamida/)
     * [解答:Common Lisp](https://gist.github.com/tkych/7623976)
     * [解答:他の言語](http://qiita.com/Nabetani/items/93cde1a6b7561426a3ac)
 + 第12回 2013-07-06
   - 道なりの亀
     * [お題](http://nabetani.sakura.ne.jp/hena/ord12aloroturtle/)
     * [解答:Common Lisp](https://gist.github.com/tkych/8112089)
     * [解答:他の言語](http://qiita.com/Nabetani/items/1de39df381dfeee305ab)
   - サイコロを転がす
     * [お題](http://nabetani.sakura.ne.jp/hena/ord12rotdice/)
     * [解答:Common Lisp](https://gist.github.com/tkych/8281271)
     * [解答:他の言語](http://qiita.com/Nabetani/items/f3cca410428f90333e28)
 + 第13回 2013-09-06
   - 積み木の水槽
     * [お題](http://nabetani.sakura.ne.jp/hena/ord13blocktup/)
     * [解答:Common Lisp](https://gist.github.com/tkych/8255646)
     * [解答:他の言語](http://qiita.com/Nabetani/items/936e7885f4c607472060)
   - 減らす二倍する
     * [お題](http://nabetani.sakura.ne.jp/hena/ord13updowndouble/)
 + 第14回 2013-09-28
   - 円周上のCrossing
     * [お題](http://nabetani.sakura.ne.jp/hena/ord14crosscircle/)
     * [解答1:Common Lisp](https://gist.github.com/tkych/7691226)
     * [解答2:Common Lisp](https://gist.github.com/tkych/7704426)
     * [解答:他の言語](http://qiita.com/Nabetani/items/66806c9dc14a96f2fd42)
   - 眠れるモンスターを狩る
     * [お題](http://nabetani.sakura.ne.jp/hena/ord14linedung/)
     * [解答:Common Lisp](https://gist.github.com/tkych/7622703)
     * [解答:他の言語](http://qiita.com/Nabetani/items/0597bd3af481e5834ae1)
 + 第15回 2013-11-01
   - 回文の発掘
     * [お題](http://nabetani.sakura.ne.jp/hena/ord15subpalin/)
     * [解答1:Common Lisp](https://gist.github.com/tkych/7927082)
     * [解答2:Common Lisp](https://gist.github.com/tkych/7943023)
     * [解答:他の言語](http://qiita.com/Nabetani/items/0b56395d4c9e7c64b230)
   - 異星の電光掲示板
     * [お題](http://nabetani.sakura.ne.jp/hena/ord15elebubo/)
     * [解答:Common Lisp](https://gist.github.com/tkych/7618254)
     * [解答:他の言語](http://qiita.com/Nabetani/items/cba03c96d1ea55f6e861)
 + 第16回 2013-12-07
   - L被覆
     * [お題](http://nabetani.sakura.ne.jp/hena/ord16lcove/)
   - 境界線分
     * [お題](http://nabetani.sakura.ne.jp/hena/ord16boseg/)


重大な規律違反、Lisp的に不適切なコード、間違いやバグ、より良い方法などございましたら、コメントいただけると嬉しいです（各問題に関してはgist、全体に関してはqiitaの方で、コメントいただければ、とても助かります）。