본문 바로가기
algorithm/hackerRank

[HackkerRank] Bit Manipulation: Lonely Integer

by 무대포 개발자 2018. 6. 25.
728x90
반응형

2. Feedback

  • A = {a1, a2, a3, a4, … ,an} 은 홀수이며, 2개 이상 짝을 이루며, 오직 하나의 수만 유니크
  • XOR 이란 2개의 명제 중에서 1개만 참인 것을 추출하는 bit manipulation 이다. 모든 수를 XOR 한다면, 같은 pairs 는 비트가 0으로 될테고, 유니크한 값의 비트만 1의 비트가 켜진다.

3. Source

public class BitManipulationLonelyInteger
{
	public static void main(String [] args)
	{
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int arr[] = new int[n];
		for (int idx = 0 ; idx < n ; idx++)
		{
			int x = sc.nextInt();
			arr[idx] = x;
		}
		System.out.println(lonelyInteger(arr));
	}
	
	public static int lonelyInteger(int arr[])
	{
		int value = 0;
		for (int i : arr)
		{
			value ^= i;
		}
		return value;
	}
}

댓글