Skip to content

Commit db26d76

Browse files
committed
solve: sum of two integers
1 parent dc394e7 commit db26d76

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

sum-of-two-integers/evan.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
class Solution:
2+
def getSum(self, a: int, b: int) -> int:
3+
# 32비트 마스크
4+
MASK = 0xFFFFFFFF
5+
# 최대 32비트 정수 값
6+
MAX_INT = 0x7FFFFFFF
7+
8+
while b != 0:
9+
# a와 b의 XOR (덧셈 결과)
10+
a_xor_b = (a ^ b) & MASK
11+
# 자리 올림 (AND 연산 후 한 비트 왼쪽 시프트)
12+
carry = ((a & b) << 1) & MASK
13+
14+
# a를 XOR 결과로 업데이트
15+
a = a_xor_b
16+
# b를 자리 올림 값으로 업데이트
17+
b = carry
18+
19+
if a > MAX_INT:
20+
# 음수 처리
21+
a = ~(a ^ MASK)
22+
23+
return a

0 commit comments

Comments
 (0)