ラベル codegolf の投稿を表示しています。 すべての投稿を表示
ラベル codegolf の投稿を表示しています。 すべての投稿を表示

2010年1月29日金曜日

Anarchy golf - repeat line

repeat line が、open。
perl で大幅に負けた。

自分の解答は

print(($_=<>)x~-length)


1位の解答は

s/./print/gefor<>


あまりにも違うので、あまり比べようがない。
以下気づいた点
・入力が一回しかないのに for 文を回している。
・s のオプションの ge と for の間にスペースがないのにちゃんと parse されている。
・$_ に変数を入れれば、print だけで、出力できる。
・s の e オプションは置換が起こった各パーツに対して、評価が起こる?

こんなんで 6人も1位が並ぶ意味が分からん。

PHP も少し負けた。

自分の解答は

<?=str_repeat($i=fgets(STDIN),strlen($i)-1);


1位の解答は

<?for($a=fgets(STDIN);$a[++$i];)echo$a;


未定義の変数がundef(==0)で初期化されるという仕様を押さえておけば
多分思いついたと思う・・・

短いながら、意外と解答が収束しない良い問題だったと思うので、本当はもう少しいろんな言語で解きたかった・・・

2010年1月19日火曜日

Ruby FizzBuzz 55B

自分では全く解いていないけど、ランキングを見ていたら、Ruby の FizzBuzz が 2年半越しに 56B から 55B に更新されていた事を知って驚いた。こういう基礎的かつコンペティティブな問題で、こういうタイミングで更新されるのってすごいと思う。