読者です 読者をやめる 読者になる 読者になる

本履歴

購入した古本の履歴と時々プログラミング

コードゴルフ

CodeIQのid:Ozyさん開催コードゴルフコンペに参加していたので、自分のコード公開。
提出期限の月曜の明け方に縮めてた。縮まりまくって、徹夜だよ・・・あるあるーw
最初にハッシュにx,yでの値を保存していたけど、結局、1次元配列の方が短くなることが判明。$*に保存。
popで取り出したかったので、巻く方向は逆になってる。
n/2*-~nをn*n/2にすることで更に2バイト短くなることに気づいたけど、後の祭り。なんでこんなの気づかないんだろう。アホだな。
トップは120台だと思ってたけど、全然短くて、アルゴリズム重要だよなーと改めて感じた。
上級入れなくてかなり残念。

問題
https://codeiq.jp/ace/ozy4dm/q335

結果発表
http://codeiq.hatenablog.com/entry/2013/06/10/165837

最終版 139バイト

n=gets.to_i
x=n/2*-~n
j=m=0
(2*n+i=1).times{|d|i,j=-j,i;(d/2).times{$*[x]="%#{(n*n).to_s.size}d"%m+=1;x-=n*i+j}}
n.times{puts$*.pop(n)*" "}