「オフラインリアルタイムどう書く」とは
「オフラインリアルタイムどう書く」は、月1くらいで横浜で開催されている勉強会です。主催者の鍋谷さんが準備した「お題」を制限時間1時間でネットの力を借りずに自力で解く、という会です。「お題」は定番のポーカーやTick-Tack-Toeから、ボンバーマンの爆風の広がりをビット演算で解きましょうといったユニークなものまで、おもしろく、ついついハマってしまうものばかりです(今までのお題や解答例を見るには、こちらから辿っていくと便利です)。
「一人オフラインゆるゆるタイムどう書く」
Lisp星人から指令が来たので、Common Lispの勉強として「オフラインリアルタイムどう書く」を解いていくことにしました。
とりあえずの自分ルールは:
- マクロを使用しない(
defmacro
等を用いてマクロを定義しない)。 - 最適化のための宣言は使用しない。
- quicklispは使用してもよいが、基礎的なライブラリに限る(alexandria, split-sequence, cl-ppcreなど)。
- なるべくわかりやすいコードを心がける(1年後の自分が理解できるくらい)。
- 解答はgistで晒す。
- 制限時間1時間は努力目標。
- まずはオフラインで解答にたどり着く(ただし、下手の考え休むに似たり状態になったら、とっとと他の方の解答を参考にするか、先送りする)。
- 自力で解答にたどり着いたらネット解禁。
- 他の方の解答を読み、参考になる部分を取り入れ、解答を書きなおす(余力があれば)。
未解答のお題
4. フカシギの通行止め
9. 数を作る
13. 増やす減らす二倍する
16. L被覆 境界線分
問題を解き次第、下にリンクを追加していく予定。ゆるゆる解いてくつもりです。
お題と参考問題と解答
「解答:他の言語」から、他の方の解答を見ることができます。参考になります。
- 第1回 2012-07-06
- ポーカー
- Tick-Tack-Toe
- 第2回 2012-07-28
- 二値画像の回転
- Bit Tetris
- 第3回 2012-09-07
- ボールカウント:野球
- Y字路巡り
- 第4回 2012-10-06
- フカシギの通行止め
- テトロミノ認識
- 第5回 2012-11-09
- Rails on Tiles
- 大貧民
- 第6回 2013-01-11
- L-intersection
- 続柄
- 第7回 2013-02-02
- XY-Sort
- のんびり座りたい
- 第8回 2013-03-01
- エントロピー符号
- ビットボンバーマン
- 第9回 2013-04-06
- 数を作る
- バス代
- 第10回 2013-05-10
- ポーカーの残り+
- ハニカム歩き
- 第11回 2013-06-01
- 等差数列
- ビットあみだくじ
- 第12回 2013-07-06
- 道なりの亀
- サイコロを転がす
- 第13回 2013-09-06
- 積み木の水槽
- 減らす二倍する
- 第14回 2013-09-28
- 円周上のCrossing
- 眠れるモンスターを狩る
- 第15回 2013-11-01
- 回文の発掘
- 異星の電光掲示板
- 第16回 2013-12-07
重大な規律違反、Lisp的に不適切なコード、間違いやバグ、より良い方法などございましたら、コメントいただけると嬉しいです(各問題に関してはgist、全体に関してはqiitaの方で、コメントいただければ、とても助かります)。