Skip to content

Commit 260b26c

Browse files
committed
number of 1 bit solution commit
1 parent aa8ba19 commit 260b26c

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
//풀이 1
2+
// μ‹œκ°„ λ³΅μž‘λ„: O(k)
3+
// 곡간 λ³΅μž‘λ„: O(1)
4+
// 속도: 2ms
5+
function hammingWeight(n: number): number {
6+
let count = 0;
7+
while (n) {
8+
n = n & (n - 1);
9+
count++;
10+
}
11+
return count;
12+
}
13+
/*
14+
μ†λ„λŠ” λΉ λ₯΄μ§€λ§Œ λ³΅μž‘λ„κ°€ λ†’κΈ° λ•Œλ¬Έμ— μ ν•©ν•˜μ§€ μ•ŠμŒ.
15+
Brian Kernighan μ•Œκ³ λ¦¬μ¦˜μ„ ν™œμš©ν•œ λΉ„νŠΈ κ³„μ‚°μœΌλ‘œ μž¬ν’€μ΄
16+
17+
// μ‹œκ°„ λ³΅μž‘λ„: O(log n)
18+
// 곡간 λ³΅μž‘λ„: O(log n)
19+
// 속도: 0ms
20+
function hammingWeight(n: number): number {
21+
const bitNumber = n.toString(2);
22+
const bitString = String(bitNumber);
23+
24+
const bitArray = bitString.split('').map((s) => Number(s));
25+
return bitArray.reduce((a, b) => a + b);
26+
}
27+
*/

0 commit comments

Comments
Β (0)