File tree Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Expand file tree Collapse file tree 1 file changed +40
-0
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * JavaScript ๋นํธ ์ฐ์ฐ์ ์ ๋ฆฌ:
3
+ *
4
+ * 1. & (AND ์ฐ์ฐ์): ๋ ๋นํธ๊ฐ ๋ชจ๋ 1์ผ ๋๋ง 1์ ๋ฐํ
5
+ * ์: 5 & 3 = 1 (101 & 011 = 001)
6
+ *
7
+ * 2. ^ (XOR ์ฐ์ฐ์): ๋ ๋นํธ๊ฐ ๋ค๋ฅผ ๋ 1์ ๋ฐํ
8
+ * ์: 5 ^ 3 = 6 (101 ^ 011 = 110)
9
+ *
10
+ * 3. << (์ผ์ชฝ ์ํํธ): ๋นํธ๋ฅผ ์ผ์ชฝ์ผ๋ก ์ด๋ (๊ณฑํ๊ธฐ 2์ ๋์ผ)
11
+ * ์: 5 << 1 = 10 (101 << 1 = 1010)
12
+ *
13
+ * ํ์ด ์ค๋ช
:
14
+ * - ์ด ์๊ณ ๋ฆฌ์ฆ์ ๋ง์
์ ๋นํธ ์ฐ์ฐ์ผ๋ก ๊ตฌํ
15
+ * - XOR(^)๋ก ์๋ฆฌ์ฌ๋ฆผ ์๋ ํฉ์ ๊ตฌํจ
16
+ * - AND(&)๋ก ์๋ฆฌ์ฌ๋ฆผ์ ์ฐพ๊ณ , ์ผ์ชฝ ์ํํธ(<<)๋ก ํ ์๋ฆฌ ์ฌ๋ฆผ
17
+ * - ์๋ฆฌ์ฌ๋ฆผ์ด 0์ด ๋ ๋๊น์ง ๋ฐ๋ณต
18
+ *
19
+ * ์๊ณต๊ฐ ๋ณต์ก๋:
20
+ * - ์๊ฐ ๋ณต์ก๋: O(1) - ์ต์
์ ๊ฒฝ์ฐ 32๋ฒ ๋ฐ๋ณต (32๋นํธ ์ ์)
21
+ * - ๊ณต๊ฐ ๋ณต์ก๋: O(1) - ์์ ๊ณต๊ฐ๋ง ์ฌ์ฉ
22
+ */
23
+
24
+ /**
25
+ * @param {number } a
26
+ * @param {number } b
27
+ * @return {number }
28
+ */
29
+ var getSum = function ( a , b ) {
30
+ while ( b !== 0 ) {
31
+ // ์๋ฆฌ์ฌ๋ฆผ
32
+ let carry = ( a & b ) << 1 ;
33
+
34
+ // ์๋ฆฌ์ฌ๋ฆผ ์๋ ํฉ
35
+ a = a ^ b ;
36
+
37
+ b = carry ;
38
+ }
39
+ return a ;
40
+ } ;
You canโt perform that action at this time.
0 commit comments