File tree Expand file tree Collapse file tree 1 file changed +23
-0
lines changed Expand file tree Collapse file tree 1 file changed +23
-0
lines changed Original file line number Diff line number Diff line change 1+ """
2+ ํ์ด :
3+ ๋นํธ ์ฐ์ฐ์ xor, and, shift๋ฅผ ์ด์ฉํด ์ํํ๋ค
4+ a๋ a์ b์ xor์ฐ์ฐ ๊ฒฐ๊ณผ
5+ -> a์ b์ set-bit๊ฐ ๊ฒน์น์ง ์๋ ์์น์์์ ํฉ์ฐ์ฐ์ ๊ฐ๋ฅํ๊ฒ ํจ
6+ b๋ a์ b์ and์ฐ์ฐ ๊ฒฐ๊ณผ << 1
7+ -> a์ b๊ฐ ๋ ๋ค 1์ธ ์์น์์ ํฉ์ ํตํด ์ฌ๋ฆผ์๋ก ์ฌ๋ ค์ฃผ๋ ์ญํ ์ํ
8+
9+ ํ์ด์ฌ์์๋ int๊ฐ 32๋นํธ๊ฐ ์๋๋ฏ๋ก 1 32๊ฐ๋ก ์ด๋ฃจ์ด์ง mask๋ฅผ ์ค์ ํด์ฃผ๊ณ
10+ ์ฌ๋ฆผ์ b๊ฐ 32๋นํธ ๋ฒ์๋ฅผ ๋ฒ์ด๋์ง ์๊ณ ์กด์ฌํ ๋์ while๋ฌธ ์ฐ์ฐ์ ์งํํ๋ค
11+ ๋ฐ๋ณต๋ฌธ ์งํ ํ 32๋นํธ์ ๋ํด์๋ง return
12+
13+ TC : O(1)
14+
15+ SC : O(1)
16+ """
17+
18+ class Solution :
19+ def getSum (self , a : int , b : int ) -> int :
20+ mask = 0xFFFFFFFF
21+ while mask & b :
22+ a , b = a ^ b , (a & b ) << 1
23+ return a & mask if b > 0 else a
You canโt perform that action at this time.
0 commit comments