話題の10分コーディングをやってみたんだけど、残念な出来にしかならなかった
ネタ元。10分以内に作ることは心がけたけど、結果は残念な感じに。
<html> <body> <script type="text/javascript"> /* function calc(count, cards) { var result = document.getElementById("result"); if (!count) result.innerHTML = "impossible"; var l = cards.length % count; if (l) cards = cards.slice(0, -l); // 分岐しているのが美しくない。 var r = new RegExp("(.).{0," + (count - 1) + "}", "g"), a = []; for (var i = 0; i < count; ++i) { a[i] = cards.slice(i).replace(r, "$1"); // for文回しているのが美しくない } result.innerHTML = a; } */ function calc(count, cards) { var result = document.getElementById("result"); if (!count) result.innerHTML = "impossible"; var l = ~~(cards.length / count) * count, r = new RegExp("(.).{0," + (count - 1) + "}", "g"), a = []; for (var i = 0; i < count; ++i) { a[i] = cards.slice(i, l).replace(r, "$1"); } result.innerHTML = a; } </script> <form onsubmit="calc(+this.count.value,this.cards.value.replace(/\D/g,''));return false"> <input size="40" id="count" value="3"><br> <input size="40" id="cards" value="123123123"><br> <input type="submit" value="calc"> </form> <div id="result"></div> </body> </html>
全然スマートじゃなくて泣ける。