Python Challenge 5 を Python 無しで解くまで。 ※どうしようもなくネタバレであることに注意 banner.p をぼんやり眺める。 ・bannerという名前、あきらかに異質な ' ' と '#' を見るに、' ' と '#' を出力して絵を描く、banner(1) のような物体の仕様なんだろう、と考えた ・となると残りの情報は座標指定を行っているのかな、と考えた。 ・lp, p, I, aa, tp, aa, g, a, などはその後の数字を引数とするコマンドのようなものだと考えた。 ・lp, tp, p は明らかに通し番号に見えたため、深い意味は無いと考えた。 ・p と g は 2 と 6 しかない。p は S の直後以外には登場していない。よって、 g は S を参照している、つまり g2 == ' ' 、 g6 == '#' ではないかと考えた。(ここらでシリアライザだと気付けよと後で思った) ・I の数は様々な値を取っており、 I には意味があると考えた。 ・aa が a をいくつか含む、という構造が並んでいる。 a は S or g 、 I を一つずつ含む。 ・aa 内の I の値を合計すると、必ず 95 になっている。 → RLE か!一つの aa で一行に違いない。 回答に用いた Ruby のソース。同一ディレクトリに banner.p が必要。 http://shinh.skr.jp/dat_dir/5.rb