読者です 読者をやめる 読者になる 読者になる

くんすとの備忘録

プログラミングや環境設定の覚え書き。

paizaオンラインハッカソン5をbashワンライナーで説いてみた(MINAMIルート)

paiza.jp

幼なじみルートの最終問題の解答例です。

read X Y && awk -v x=$X -v y=$Y '{for(i=0;i<NF;i++){a[i]=a[i] " " $(i+1);if(NR==y)print a[i]}}' | rev | tr -d '2' | sed 's/^0\+//g' |  awk -v x=$X -v y=$Y '{for(i=0;i<y;i++){n=i%y;a[n]=a[n] " " 0+$(y-i);if(NR==x)print a[n]}}' | sed 's/^ //g'

90度ずらしてからtrで左詰めして、また元に戻しながらゼロ埋めする、という解法です。

無理矢理感激しい……

広告