一般的な解法では,まぁこれでいいと思うんですけれど,これだと必要になる記憶領域が際限なく増えてしまいます(それで相談を受けた)。記憶領域が必要になります。増えることになってしまう。要素以上あるので,記憶領域がべらぼうに必要になってしまいます。開発スキルというとき,基礎になる「考え方」ってのは,こういう話で適切な解法を見つけるセンスだと思っていたりします。上の例の場合,対応関係に重複はないし,連番で対応関係が振られるんですから,すべての場合についてマトリックスを作る必要はありません。数えた個数でもいい)だけを記録しておけば,記憶容量が節約されます。こゆテクニックは,情報関係の話をする上で,ある意味基礎的な素養なわけで,覚えたものを吐き出すというよりは,ある問題について,その場で考えるときの考え方なんだと思ったりします。文法に詳しくても(それも必要だが),こういう素養がないと,設計的な仕事は任せられないわけで,いつまでたっても,すでにできてる設計書に基づいてコーディングすることしかさせてもらえなかったりする。ま,あたしにその素養が足りてるとも思ってないわけですけど。一方で,こゆ素養がある程度身に付いていれば,開発周りの周辺環境が多少変わっても右往左往しなくて済むことが多い気がしています。新人君には,なるべく基礎的な素養を身に付けてもらいたいと思っているんですけれど,派手目なことに目が行きがちみたい。分からなくもないけど,将来大変になるぞ,と思ったりもします。