PerlAnybatross yapc Fukuoka 2025
学び 色々
hole 1
y//構文を失念していました。\nより改行の方が短いに決まっている
- わたし
print$b+=$a=()=(/[ADO-R0469B8]/g,/[B8]/g),",$a\n"for<>
- いっちーさん
print$b+=$a=y/B8/0/+y/ADO-R0469//,",$a "for<>
hole 2
- perlのソートは安定的ソートなので順番で頑張らなくても良かったんだ。
- 2文字づつの分解は/(?=(\S\S))/g)で良いのね。精進、精進
- あれ?ソート自体もいらないのか???
--
- わたしの回答
$Q=A;sub x{my%h;my%y;($a,@c)=/./g;$k=$a.$_,$k=~/ /?0:$h{$k}++,$y{$k}||=++$i,$a=$_ for@c;($z)=sort{$h{$b}<=>$h{$a}||$y{$a}<=>$y{$b}}%h;$h{$z}>1&&($m.="$M$Q:$z",$M=",",s/$z/$Q/g,$Q++,x($_));"$m\n$_"}print x($_)for<>
- moznion さんの回答
$o=A;$_=<>;{$m=$s=$_;($c=()=$s=~/$_/g)>$m&&($m=$c,$w=$_)for/(?=(\S\S))/g;$m>1&&(s/$w/$o/g,$p.=$o++.":$w,",redo)}chop$p;print"$p
$_"
=CUT
修正版
$Q=A;sub x{my%h;$h{$_}++for@c=/(?=(\S\S))/g;($z)=sort{$h{$b}-$h{$a}}@c;$h{$z}>1&&($m.="$M$Q:$z",$M=",",s/$z/$Q/g,x($Q++));"$m
$_"}print x()for<>
- Score: -106
- 無精・短気・傲慢