カヤックさん主催のコードゴルフ企画 Anybatross YAPC::Fukuoka 2025 に参加しました。最終スコアは、Hole1: -54, Hole2: -102 で、いずれもPerl縛りでやっていました。全体17位で、両方 Perlだと4位っぽいです。楽しかったです!!開催ありがとうございました!!
AI Agent に丸投げもしてみたけれど、「すでに十分最適化されています。これ以上短くできません。」みたいなことを言われて、イラッとしながら、 自分よりもずっと最適化してる人がいたので、人類の叡智を感じました。
開催案内はこちら。
作業リポジトリはコチラ github.com
Hole1
print$s+=$t=y/04689ABDO-R//+y/8B//,",$t "for<>
my $count = y/xxx// でマッチした数を取り出せるので、それを利用しました。
Hole2
$r=A;$_=<>;{@b=/(?=(\w\w))/g;my%f,$m;$f{$_}++for@b;$f{$_}>$f{$m}&&($m=$_)for@b;last if$f{$m}<2;$d.="$r:$m,";s/$m/$r/g;$r++;redo}chop$d;print"$d\n$_"
整形するとこんな感じです。
$r=A;$_=<>; { @b=/(?=(\w\w))/g; my %f,$m; $f{$_}++ for @b; $f{$_}>$f{$m}&&($m=$_) for @b; last if $f{$m} < 2; $d.="$r:$m,"; s/$m/$r/g; $r++; redo } chop$d; print"$d\n$_"
仕様に素直に沿って書きました。 変数が多くなっているので、どうにかひとまとめにできないかなー?と思いながら、苦しみました。
去年の参加記録
YAPC::Fukuoka 2025 の参加記録