일상적 이야기들.

codewar: Find the odd int 본문

프로그래밍/알고리즘 문제풀이

codewar: Find the odd int

noveljava 2019. 7. 16. 15:58

문제

 - https://www.codewars.com/kata/54da5a58ea159efa38000836

불러오는 중입니다...

 

문제풀이

 - 홀수번 나온 숫자를 구하는 문제로, 1차적인 생각으로는 나온 숫자를 Count해서 홀수인 값을 return 시키면 됩니다.

 - 그러나, 조금 더 나아가서 xor을 사용하게 되면 손쉽게 풀 수 있는 문제가 됩니다.

  - xor는 Bit연산으로 서로 다를 때 True로 전환이 되게 됩니다. 고로 동일한 값을 xor을 하게 되면 0의 값을 출력시키게 됩니다.

 

 - 그렇기에, 짝수번 나오게되는 숫자는 0으로 변경이 되게 되고 그렇지 않은 숫자는 남게 되는 것입니다.

public class FindOdd {
	public static int findIt(int[] a) {
    int result = a[0];
		
		for(int i=1; i<a.length; ++i) {
			result ^= a[i];
		}
    
  	return result;
  }
}

'프로그래밍 > 알고리즘 문제풀이' 카테고리의 다른 글

codewars: Counting Duplicates  (0) 2019.07.04
codewar: Sum of Parts  (0) 2019.07.02
codewar: Convert a String to Number!  (0) 2019.07.02
codewar: Where is THB?  (0) 2019.07.02
codewar: Remove First and Last Character  (0) 2019.06.25
Comments