diff --git a/bangdori/338.js b/bangdori/338.js new file mode 100644 index 0000000..b1fdb6e --- /dev/null +++ b/bangdori/338.js @@ -0,0 +1,20 @@ +/** + * @param {number} n + * @return {number[]} + */ +var countBits = function (n) { + const dp = Array(10 ** 5 + 1).fill(0); + + dp[1] = 1; + + let exp = 1; + for (let i = 2; i < dp.length; i++) { + if (exp * 2 === i) { + exp *= 2; + } + + dp[i] = dp[i - exp] + 1; + } + + return dp.slice(0, n + 1); +};