〜2007年2月下旬〜
ループもなくs///しか使ってない。
s/^/SHDC/ /-D/s/D// s/./Ace&2&3&4&5&6&7&8&9&10&Jack&Queen&King&/g /-Q/s/Queen.//g s/CA.*/C/ s/S/OSpades\n/g s/H/OHearts\n/g s/D/ODiamonds\n/g s/C/OClubs\n/g s/O/ of /g
ofの置き換えでせこく1Bかせいでいる。これで167B。
実はこの問題でs/./hoge&/gを思いついて
昨日の件につながる。
sshでログインできないので日記の更新ができない。
という内容で更新するのはいかがなもんか。
なぜかずるした後で正統な解答を思いつく。
しかしawkも奥が深い。これに気づいたうささんもすごい。
たぶん14Bでできると示されなければ15Bのままだったろうな。
ゆぞさん、ありがとう。
過去に解いた問題を見直してみるとなぜかどんどん縮む。
prime.awkはfor loopを減らしたいんだが思いつかない。
あ、そうか。つまり
/^\(###\)\+$/iFizz
ってな感じなわけだな。
あとは#を数字に変換する処理を書けばsedでもいけると。
そうじゃないと200Bは切れそうもない。
djgppの環境を壊してしまっているので、早いとこ復活させないと。
Rubyでpack/unpackの組み合わせ。
ひょっとしたらpack/unpackを使わないほうが縮むのかな。
reverseが2つって長すぎだよな。
#を数えるのを作ってみたら300Bを越えて笑った。
これはあまり縮みそうもないのでこのままさらそう。
#n s/$/@/ h :b g s/$/#/ /^.\{102\}$/b h s/@\(###\)\+$/Fizz&/ s/@\(#####\)\+$/Buzz&/ s/z@.*/z/p /@/!bb s/@// s/#\{10\}/a/g /#/!s/$/0/ s/a\{9\}/9/ s/a\{8\}/8/ s/a\{7\}/7/ s/a\{6\}/6/ s/a\{5\}/5/ s/aaaa/4/ s/aaa/3/ s/aa/2/ s/a/1/ s/#\{9\}/9/ s/#\{8\}/8/ s/#\{7\}/7/ s/#\{6\}/6/ s/#\{5\}/5/ s/####/4/ s/###/3/ s/##/2/ s/#/1/ p bb
コマンド名長いよ。gで。
おそろしいことが書いてあった。そんなテクニックが。
git-svnimportを使ってみるも一回も成功した試しなし。
もうタイムスタンプが壊れてもいいから
% git init-db % svn up -r1 % for i in {2..414};do git add $(svn up -r$i |& awk '/^A/{print$2}');\ git commit -a -m "$(svn log -r$i |sed -n 4p)";done
でいいやと思ったり。r414とそれほど多くもないし。
実はほとんど同じ。
1.upto(?d){|i|f="Fizz"if i%3<1;puts i%5>0?f||i:"#{f}Buzz"}
この場合もfは同じようにnilになる。
&&にしても同じサイズだったと勘違いしてしまい、その後試さなかったのが敗因。