CodeWars 일백 스물 여섯 번째 문제
Updated:
Sum of Two Integers
public static int add(int x, int y)
{
int s = x ^ y;
int carry = x & y;
if (carry == 0) {
return s;
} else {
return add(s, carry << 1);
}
}
- 비트 문제가 나오면 당황스럽긴 하다.
- 이런 문제들은 대학교 1학년때나 잠시 다루고 실무에서도 비트를 거의 다룰일이 없기 때문이다.
- 하지만 잘만 다룬다면 항상 쉽게 풀거나 비트 전용문제도 있기 때문에 잘 알아둬야겠다.
- XOR(^), AND(&)를 통해서 덧셈을 충분히 표현 가능하다.