File tree Expand file tree Collapse file tree 1 file changed +20
-0
lines changed Expand file tree Collapse file tree 1 file changed +20
-0
lines changed Original file line number Diff line number Diff line change
1
+ '''
2
+ ์๊ฐ ๋ณต์ก๋: O(1)
3
+ - ๋ง์
์ ๋นํธ ์ฐ์ฐ์ ์ด์ฉํ์ฌ ์ํ๋๋ฉฐ, ์ ์ ํฌ๊ธฐ๊ฐ ๊ณ ์ ๋์ด ์๊ธฐ ๋๋ฌธ์ ์ฐ์ฐ ํ์๊ฐ ์ ํ์ ์
๋๋ค.
4
+
5
+ ๊ณต๊ฐ ๋ณต์ก๋: O(1)
6
+ - ์ถ๊ฐ์ ์ธ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฑฐ์ ์ฌ์ฉํ์ง ์์ต๋๋ค.
7
+ '''
8
+
9
+ class Solution :
10
+ def getSum (self , a : int , b : int ) -> int :
11
+ MASK = 0xFFFFFFFF # 32๋นํธ ์ ์ ๋ง์คํฌ
12
+ MAX_INT = 0x7FFFFFFF # 32๋นํธ ์ ์์ ์ต๋๊ฐ
13
+
14
+ while b :
15
+ carry = (a & b ) << 1 # ์๋ฆฌ ์ฌ๋ฆผ ๊ณ์ฐ
16
+ a = (a ^ b ) & MASK # ๋ง์
์ํ
17
+ b = carry & MASK # ์๋ฆฌ ์ฌ๋ฆผ๊ฐ์ ๋ฐ์ํ์ฌ ๋ค์ ์ฐ์ฐ ์งํ
18
+
19
+ # ์์ ์ฒ๋ฆฌ๋ฅผ ์ํด 32๋นํธ ์ด๊ณผ ์ ๋ณด์
20
+ return a if a <= MAX_INT else ~ (a ^ MASK )
You canโt perform that action at this time.
0 commit comments