Skip to content

Commit fb90368

Browse files
committed
number-of-1-bits solution
1 parent e98b388 commit fb90368

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/**
2+
* @param n - ์–‘์˜ ์ •์ˆ˜
3+
* @returns - ์ด์ง„ ๋ณ€ํ™˜ ์‹œ 1์˜ ๊ฐฏ์ˆ˜
4+
* @description
5+
* - ํ’€์ด 1: ์ง์ ‘ ์ด์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ž‘์—…์„ ์ถ”๊ฐ€
6+
* - ์ด์ง„ ์ˆ˜ ๋ณ€ํ™˜ ํ›„ ๋ฐฐ์—ด ๋ณ€๊ฒฝ, 1๋งŒ ๋ฝ‘์•„๋‚ด์„œ ๊ธธ์ด ๋ฐ˜ํ™˜ํ•˜๊ธฐ
7+
* - ์‹œ๊ฐ„๋ณต์žก๋„: O(n), ๊ณต๊ฐ„๋ณต์žก๋„: O(n)
8+
*/
9+
10+
// function hammingWeight(n: number): number {
11+
// if (n === 0) return 0;
12+
// let result = "";
13+
// while (n > 0) {
14+
// result = (n % 2) + result;
15+
// n = Math.floor(n / 2);
16+
// }
17+
// let count = 0;
18+
// for (const ch of result) {
19+
// if (ch === "1") {
20+
// count++;
21+
// }
22+
// }
23+
// return count;
24+
// }
25+
26+
function hammingWeight(n: number): number {
27+
const bit = n
28+
.toString(2)
29+
.split("")
30+
.filter((v) => v === "1");
31+
32+
return bit.length;
33+
}
34+
35+
const n = 2147483645;
36+
37+
hammingWeight(n);
38+
39+

0 commit comments

Comments
ย (0)