Skip to content

Commit d2e6336

Browse files
committed
reverse bits solution
1 parent cffced5 commit d2e6336

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

โ€Žreverse-bits/limlimjo.jsโ€Ž

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/**
2+
* @param {number} n - a positive integer
3+
* @return {number} - a positive integer
4+
*/
5+
var reverseBits = function (n) {
6+
// ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜
7+
let nString = n.toString(2).padStart(32, "0");
8+
//console.log(nString);
9+
10+
// ์Šคํƒ ์ƒ์„ฑ (์Šคํƒ์€ ๋‚˜์ค‘์— ๋“ค์–ด์˜จ๊ฒŒ ๋จผ์ € ๋‚˜๊ฐ€๋ฏ€๋กœ)
11+
let stack = [];
12+
13+
// nString ์Šคํƒ์— ๋„ฃ๊ธฐ
14+
for (let i = 0; i < nString.length; i++) {
15+
stack.push(nString[i]);
16+
}
17+
18+
// popํ•˜์—ฌ ๋’ค์ง‘ํžŒ ๋ฌธ์ž์—ด ๋งŒ๋“ค๊ธฐ
19+
let reverseNString = "";
20+
for (let i = 0; i < nString.length; i++) {
21+
reverseNString += stack.pop();
22+
}
23+
24+
// ๋’ค์ง‘ํžŒ ๋ฌธ์ž์—ด์„ ์ •์ˆ˜๋กœ ๋ณ€ํ™˜
25+
return parseInt(reverseNString, 2);
26+
};
27+
28+
// ์‹œ๊ฐ„ ๋ณต์žก๋„: O(1)
29+
// ๊ณต๊ฐ„ ๋ณต์žก๋„: O(1)

0 commit comments

Comments
ย (0)