CodeIQの問題作成について
CodeIQの問題を考えるのはとても大変だけど、とてもおもしろい。
何が大変かというと、主に「ゲームバランス」が大変。アルゴリズムに絡む問題は、難しくするつもりならいくらでも難しくできる。時間がかかるようにしたり、知らなきゃできないようにしたり。でもそれではつまらないし、何というか「雲の上の人」だけの戦いになってしまうから(実際、結城がどんだけ難しくしても解く人は解く)。
だから、ゲームバランスがだいじ。実力がある人や優秀な人はさっさと解く。でも、学びたての人やたまにしかプログラム書かない人でも「やってみる」ことができる問題にしたいと思っている。…で、作るのが大変に。
でも、問題を作るのはおもしろい。何がおもしろいかというと、自分が広く学べるところ。それから、自分が「よく知っている」と思っていたことでも、きちんと書こうとすると書けないところ。それがおもしろい。きちんとわかりやすく文章にするのは、自分の理解を確かなものにする。
だから、たとえ(知っている人には)当たり前のことでもていねいに表現したい。すべてを説明できないときでも学ぶポインタを示しつつ。
ということで、比較的「やさしめ」ではあるのですが、意外に楽しめる問題になっていると自負しています。
定期的に出題して、そのうち解説をつけて本にしたいな。楽しく学ぶ。楽しく知る。そんな本に。
この企画、ぜひ応援してくださいね!(^^)/
CodeIQの問題に挑戦しよう!