👏

ランレングスCarelyちゃんエピソード3

2022/12/14に公開

こんにちは。hiroendoreと申します。
この記事は
この記事は、iCARE Dev Advent Calendar 2022 第1レーン の9日目です。

ランレングスCarelyちゃんというのがiCAREのアドベントカレンダー内で流行しておりまして
https://dev.icare.jpn.com/dev_cat/run-length-carely-chan
https://dev.icare.jpn.com/dev_cat/run-length-carely-chan-2nd
https://dev.icare.jpn.com/dev_cat/ランレングスcarelyちゃんにpythonで参戦してみるよ!/

より短いコードで書いてみよ!ということだったので、挑戦してみました。ちょっとだけ短くしました。

print "0v,12,n0u,0m,1k,n0l,0i,1s,n0h,0f,1y,n0e,0d,1z,13,n0c,0b,1z,17,n0a,09,1e,0i,1e,n08,07,1d,0o,1c,n07,06,1c,0s,1c,n05,05,1b,0w,1b,n04,04,1a,0z,01,1a,n03,03,1a,09,13,0e,13,0a,19,n02,03,19,0a,14,0c,14,n0l,02,19,0c,11,0g,11,n0m,01,19,0z,n0i,01,19,0z,n0i,01,19,0z,n0i,01,18,0d,12,0g,11,n0m,01,18,0f,13,0a,12,n0o,01,18,0j,17,n0s,01,18,0z,n0j,01,19,0z,02,11,n0f,01,19,0v,1e,n08,02,19,0r,1j,n06,02,19,0p,1n,n04,03,19,0n,1p,n03,03,1a,0l,1r,n02,04,1a,0k,1s,n01,05,1b,0i,1s,n01,06,1c,0g,1s,n01,06,1e,0e,1r,n02,06,1i,0b,1q,n02,05,1r,04,1n,n04,05,1s,05,1l,n04,04,1a,01,1k,05,1k,n03,03,16,09,1i,0a,14,04,17,n02,03,12,0i,1g,0k,12,n02,0z,n0s".split(',').map{ |e| e[0]=='n'? e[1]*e[2].to_i(36)+"\n": e[0]*e[1].to_i(36)}.join


文字数/バイト数(スペース込み): 711
らしいです。https://tool-taro.com/string_count/
もっともっと短くできると思うんですけどね。そうなるともはやランレングス圧縮ではないような気もします。まあそれもいいかもしれません。

数日締め切り過ぎているので急いで書きました。

ありがとうございました!

Discussion