File tree Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * ๋นํธ ๋ฐ์ ๋ฌธ์ (32๋นํธ ๋ฌด๋ถํธ ์ ์, 32bit unassigned integer)
3
+ * ๋นํธ ๋ฐ์ : 32๋นํธ ์ ์ฒด๋ฅผ ๋ค์ง๋ ๊ฒ(์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ์ ๋ฐ๊พธ๋ ๊ฒ)
4
+ *
5
+ * ์ ๊ทผ ๋ฐฉ๋ฒ:
6
+ * 32๋นํธ ์ ์์ ๊ฐ ๋นํธ๋ฅผ ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก ์ํํ๋ฉฐ ํ์ธ
7
+ * ๊ฐ ๋นํธ๋ฅผ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ฐ๋๋ก ์์น์ํด
8
+ * ๊ฐ ์์น์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ์ ๋ํจ
9
+ *
10
+ * ์๊ฐ๋ณต์ก๋: O(1)
11
+ * ๊ณต๊ฐ๋ณต์ก๋: O(1)
12
+ */
13
+ /**
14
+ * @param {number } n - a positive integer
15
+ * @return {number } - a positive integer
16
+ */
17
+ var reverseBits = function ( n ) {
18
+ let result = 0 ;
19
+
20
+ for ( let i = 0 ; i < 32 ; i ++ ) {
21
+ // ๊ฒฐ๊ณผ์ ํ์ฌ ๋นํธ๋ฅผ ์ถ๊ฐ (๋นํธ OR ์ฐ์ฐ)
22
+ // ๊ฒฐ๊ณผ๋ฅผ ์ผ์ชฝ์ผ๋ก ์ํํธํ ํ, n์ ์ตํ์ ๋นํธ๊ฐ 1์ด๋ฉด ๊ฒฐ๊ณผ์ 1์ ๋ํจ
23
+ result = ( result << 1 ) | ( n & 1 ) ;
24
+
25
+ // n์ ์ค๋ฅธ์ชฝ์ผ๋ก ์ํํธ
26
+ n >>>= 1 ;
27
+ }
28
+
29
+ // ๋ถํธ ์๋ ์ ์๋ก ๋ณํ
30
+ return result >>> 0 ;
31
+ } ;
You canโt perform that action at this time.
0 commit comments