Skip to content

Commit 718ac71

Browse files
committed
sum-of-two-integers solution
1 parent 9d90baa commit 718ac71

1 file changed

Lines changed: 28 additions & 0 deletions

File tree

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
/**
2+
*
3+
* @param a - ์ •์ˆ˜ a
4+
* @param b - ์ •์ˆ˜ b
5+
* @returns - ๋”ํ•˜๊ธฐ ์—ฐ์‚ฐ ์—†์ด ๋”ํ•œ ๊ฐ’ ๋ฐ˜ํ™˜
6+
* @description
7+
* - bit ์—ฐ์‚ฐ์ด๊ตฌ๋‚˜! ์‹ถ์—ˆ๋Š”๋ฐ ๋น„ํŠธ๋ฅผ ์ž˜ ๋‹ค๋ฃฐ์ค„ ๋ชฐ๋ผ์„œ ai์˜ ๋„์›€์„ ๋ฐ›์Œ
8+
*/
9+
10+
function getSum(a: number, b: number): number {
11+
while (b !== 0) {
12+
// ์˜ฌ๋ฆผ์ˆ˜ ๊ณ„์‚ฐ : ๋‘˜๋‹ค 1์ธ ๋น„ํŠธ๋ฅผ AND ์—ฐ์‚ฐ์œผ๋กœ ์ฐพ์•„ ์™ผ์ชฝ์œผ๋กœ ๋ฐˆ (์˜ฌ๋ฆผ์ˆ˜๋‹ˆ๊นŒ)
13+
const carry = (a & b) << 1;
14+
15+
// XOR ์—ฐ์‚ฐ์œผ๋กœ ์˜ฌ๋ฆผ์ˆ˜๋ฅผ ์ œ์™ธํ•œ ๋ง์…ˆ ๊ฐ’ ๋„์ถœ (1 | 0 ์ด๋ฏ€๋กœ)
16+
a = a ^ b;
17+
18+
b = carry;
19+
}
20+
21+
return a;
22+
}
23+
24+
const a = 2;
25+
const b = 3;
26+
getSum(a, b);
27+
28+

0 commit comments

Comments
ย (0)