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