We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent e10ec05 commit e9a055cCopy full SHA for e9a055c
โcounting-bits/YeomChaeeun.tsโ
@@ -0,0 +1,26 @@
1
+/**
2
+ * ์ด์ง์์์ 1์ ๊ฐ์ ์ธ๊ธฐ ์๊ณ ๋ฆฌ์ฆ
3
+ * ์๊ณ ๋ฆฌ์ฆ ๋ณต์ก๋
4
+ * - ์๊ฐ ๋ณต์ก๋: O(n * log n)
5
+ * - ๊ณต๊ฐ ๋ณต์ก๋: O(n)
6
+ */
7
+function countBits(n: number): number[] {
8
+ const result: number[] = [];
9
+
10
+ // ๋นํธ ์ฐ์ฐ์ ์ด์ฉํด 1์ ๊ฐ์๋ฅผ ์ธ๋ ํจ์ - O(log n)
11
+ function countOnes(num: number): number {
12
+ let count = 0;
13
+ while (num > 0) {
14
+ num &= (num - 1); // ๊ฐ์ฅ ์ค๋ฅธ์ชฝ์ 1 ๋นํธ๋ฅผ ์ ๊ฑฐ
15
+ count++;
16
+ }
17
+ return count;
18
19
20
+ for (let i = 0; i <= n; i++) {
21
+ result.push(countOnes(i));
22
23
24
+ return result;
25
+}
26
0 commit comments