No Such Blog or Diary
FizzBuzz@sed revise
- 2007-02-26 (Mon)
- プログラミング ( sed/wake/awk )
抜かされていたのでもう少しコードを書き換えて小さくしてみた.10と5の最大公約数が5であることを使って5の倍数カウンタを排除して,整形部分をもう少し頭のよい書き方に変えてみた.現在144bytes.今のコードは1000までとかでも普通に動くコードなので,高々100までという問題の条件を使うともう少し縮むのかなぁ?
- Comments: 0
- TrackBack (Close): -
無駄
- 2007-02-25 (Sun)
- 一般
電車使って秋葉へ繰り出して,sed本を少し立読みして何も買わずに帰ってきた.その後一旦家へ戻り,おもむろに自転車で白山やら上野やらへ買い物に… 電車賃の無駄でしかない.
- Comments: 0
- TrackBack (Close): -
FizzBuzz
- 2007-02-24 (Sat)
- プログラミング ( sed/wake/awk )
新しい問題が増えてたので sed で挑戦.とりあえず 1 から 100 までループでインクリメントするカウンタを書いて,それに3周期と5周期のカウンタをくっつけてみた.これに出力の整形部分を書いて 169バイト.ここから縮めるには大き目の書き換えが必要なのでとりあえずこれで出しておく.
- Comments: 0
- TrackBack (Close): -
ゴルフ観戦
- 2007-02-23 (Fri)
- プログラミング
最近のsubmit状況を見たかったのでテキトウに一行書いてみた.
ddd=`awk 'BEGIN{print strftime("%y/%m/%d %H:%M:%S",systime()-3600*24)}'`;awkprog='BEGIN{FS="<>";c=0;}{if($5!=""){if($5 <"'$ddd'"){next}else{r[c]=sprintf("%2d %-15s %4d %s %s",$1,$2,$3,$5,$6);c=c+1;}}else{if(c>0){print n;for(i=0;i<c;i++){print r[i];}print"";};c=0;n=$0;}}';for i in `cat index.html | grep '<li><a href' | sed -e 's|<li><a.*"\(.*\)">\([^<]*\)<.*|http://golf.shinh.org/\1@\2|' | sed -e 's/ /,/g'`; do h=${i%%@*}; n=${i##*@}; wget -q -O temp.html $h; echo "== "$n" ==" | sed 's/,/ /'; cat temp.html | awk '/[0-9]*\/[0-9]*\/[0-9]*/{print}/a href/&&!/tati|Sample|Rank|return/{print}' | sed -e 's#\(<tr>\|</td>\|<td>\)\+#<>#g' -e 's| */ *|/|g' -e 's/^<>\|<>$//g' -e 's/<h3>\([^<]*\).*/\1/' | awk "$awkprog"; done
過去一日以内のsubmitを抜き出してくる.ぼけた頭で組んだので sed にいったり awk にいったりぐちゃぐちゃ.そして transpose も 80bytes から縮まない.別のアルゴリズムでやらないとだめなもよう…
- Comments: 0
- TrackBack (Close): -
ゴルフ続き@sed
- 2007-02-22 (Thu)
- プログラミング ( sed/wake/awk )
Smileys Triangle(40), tennis(229), permutater(118) は一位.delete blank lines(5), even lines(4), invert case(24), delete last line(2), rotate lines(8)は一位タイ.e(102), ultimate problem(3), Fibonacci Numbers(292), exit status(16) は埋め込みで一位タイ.Hamming Numbers(382), show the way(85) は埋め込みで….そして 99 shinichiroes of hamaji は抜かれてるなぁ.もうすこしがんばろう.そういや最近(cheat)を明示するような動きになっているようなので次からはちゃんと書こう.
- Comments: 0
- TrackBack (Close): -
99 shinichiroes of hamaji まで
- 2007-02-21 (Wed)
- プログラミング ( sed/wake/awk )
とりあえず頭からつぶしていって hello world と echo は1位に並んだ.これらは答えがひとつしかなさそうなのでこれ以上は縮まないでしょう.次の 99 shinichiroes of hamaji は haskell で一位と13バイト差.もう少し頭使えば縮みそうだけど抜本的改革が必要なので断念.sed のコードのほうは暫定で最小コード達成.二位とは1バイト差なので微妙.とりあえず sed で一位になったので少々満足.
- Comments: 0
- TrackBack (Close): -