[HackerRank] Sum vs XOR

아르당·2024년 5월 29일
0

HackerRank

목록 보기
98/109
post-thumbnail

문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음

Problem

정수 n이 주어질때, 아래와 같은 각각의 x를 찾아라.

  • 0 <= x <= n
  • n + x = n ⊕ x

여기서 ⊕는 비트 단위의 XOR 연산자를 나타낸다. 조건을 만족하는 x의 개수를 반환해라.

Example

n = 4

조건을 만족하는 4개의 값이 있다.

  • 4 + 0 = 4 ⊕ 0 = 4
  • 4 + 1 = 4 ⊕ 1 = 5
  • 4 + 2 = 4 ⊕ 2 = 6
  • 4 + 3 = 4 ⊕ 3 = 7

4를 반환해라.

Function Description

sumXor 함수를 완성해라.
sumXor 함수는 아래와 같은 매개변수를 가지고 있다.

  • int n: 정수

Returns

  • int: 조건을 만족하는 값의 개수

Constraints

  • 0 <= n <= 10^15

All Code

public static long sumXor(long n) {

	long count = 1;

	while(n > 0){
		if(n % 2 == 0){
			count *= 2;
		}

		n = n >> 1;
	}

	return count;
}
profile
내 마음대로 코드 작성하는 세상

0개의 댓글