【JS体操】第3問「Zalgo Text の生成」延長戦のお知らせ

こんにちは!面白プロデュース事業部のおばらです。
『JS体操』第3問「Zalgo Text の生成」 たくさんの皆様にご参加いただき、ありがとうございました。 hubspot.kayac.com

提出いただいた回答の中で一番文字数が短かったのは以下のコードでした!

🥇 第1位 114文字 by halwhite さん

export default(s,r=Math.random,z=n=>n>0?String.fromCharCode(768+r()*112)+z(n-1):'')=>s.replace(/./g,c=>c+z(r()*8))

再帰を利用したとてもシンプル&スマートなコードです。UNBELIEVABLE♪



実はこの再帰を使う回答は
社内では想定していなかった回答
でした。

事前の社内 QA であらゆるアプローチを検証したつもりだったのですが、いやぁまだこんなアプローチがあったとは。コードを見た後だと、なんか思いつけそうな感じがしてしまうのですが、なかなかどうしてこれが思いつかないのです。ちなみに再帰を使う回答はこの1件のみ。

halwhite さん、素敵な回答をありがとうございます!!感激です。

実は元々運営側で想定していた最短文字数も114文字だったのですが、再帰とは違うアプローチでした。それはまた近日公開予定の解説ブログでご紹介します。



そして、この再帰を使う114文字の(想定外の)回答をJS体操の QA チーム総動員で解析した結果、さらに短くできることが判明しました。

そこで急遽、、、
延長戦を開催します!!

【提出締切】
8/6(火) 23:59:59

【お題】
以下の114文字のコードをさらに短くしてください

export default(s,r=Math.random,z=n=>n>0?String.fromCharCode(768+r()*112)+z(n-1):'')=>s.replace(/./g,c=>c+z(r()*8))


QA チームで検証した限りではあと2文字減らせそうですが、さらに短くできるかも?


第1問44文字
第2問 は「正攻法」が 66文字、「ハック部門」が 33文字 と代々ゾロ目になっているので
第3問111文字 にもしできたらとても嬉しいのですが、、笑


みなさまの挑戦をお待ちしております! hubspot.kayac.com


JS体操 第3問「Zalgo Text の生成」のおさらい

『JS体操』とは面白法人カヤックが主催する JavaScript のコードゴルフ大会。
その第3問は任意の文字列を「Zalgo Text」に変換する JavaScript の長〜いコードをできるだけ短くする!というお題です。

JS体操第3問「Zalgo Text の生成」
JS体操第3問「Zalgo Text の生成」編集画面 JS体操第3問「Zalgo Text の生成」編集画面(エラー)

hubspot.kayac.com

第3問 ヒント記事一覧

techblog.kayac.com

techblog.kayac.com

techblog.kayac.com

techblog.kayac.com


JS体操 過去問一覧

hubspot.kayac.com hubspot.kayac.com hubspot.kayac.com