내 첫 풀이
function numberPlay(count) {
let str = "1";
while (count > 1) {
const hash = {};
for (const num of str) {
!hash.hasOwnProperty(num) ? (hash[num] = 1) : hash[num]++;
}
str = Object.entries(hash)
.sort((a, b) => a[0] - b[0])
.map((entry) => entry.join(""))
.join("");
count--;
}
return str;
}
정규 표현식을 반영한 풀이
function numberPlay(count) {
let str = "1";
while (count > 1) {
let newStr = "";
for (let i = 1; i < 10; i++) {
const regExp = new RegExp(i, "g");
const lengthOfMatched = str.match(regExp) ? str.match(regExp).length : 0;
if (lengthOfMatched > 0) {
newStr = newStr + i + lengthOfMatched;
}
}
str = newStr;
count--;
}
return str;
}