Skip to content

Commit df919d5

Browse files
committed
feat: [Week 08-5] solve sum of two integers
1 parent daa1641 commit df919d5

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

โ€Žsum-of-two-integers/Chaedie.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
"""
2+
Solution: ํ•ด์„ค์„ ํ™œ์šฉํ•œ ํ’€์ด์ž…๋‹ˆ๋‹ค.
3+
1) xor ๋กœ ๋”ํ•˜๊ธฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜์žˆ๋‹ค.
4+
2) & << 1 ๋กœ carry ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
5+
3) python ์˜ ๊ฒฝ์šฐ 32๋น„ํŠธ ๋งˆ์Šคํฌ๋ฅผ ์‚ฌ์šฉํ•ด ์Œ์ˆ˜ ์ผ€์ด์Šค๋ฅผ ๊ณ ๋ คํ•œ๋‹ค.
6+
7+
"""
8+
9+
10+
class Solution:
11+
def getSum(self, a: int, b: int) -> int:
12+
mask = 0xFFFFFFFF
13+
14+
xor = a ^ b
15+
carry = (a & b) << 1
16+
while carry & mask:
17+
xor, carry = xor ^ carry, (xor & carry) << 1
18+
return (xor & mask) if carry > 0 else xor

0 commit comments

Comments
ย (0)