목록2018/05/07 (1)
Knowledge Map
배열중 1개씩만 존재하는 숫자 2개를 찾아내기.
하나의 배열중 1개만 존재하는 하나의 숫자는 찾는 것은 XOR로 찾아내면 된다.하지만 2개가 존재할 경우에는 어떻게 찾아야 할까? 이것도 XOR로 찾아내면 된다. 단, 2번의 loop가 필요하다. /* 1개 존재하는 숫자가 1개 있을 경우 */var arr1 = [1,3,2,4,1,3,2,4,20]console.log(arr1.reduce( (p,a)=>p^a, 0)); // 20 /* 1개 존재하는 숫자가 2개 있을 경우 */var arr2 = [1,3,2,4,7,1,3,2,4,10];console.log(arr2.reduce( (p,a)=>p^a, 0)); // 13이나온다. 답이 아님cs 1개 짜리 숫자 2개가 xor연산이 되어버린다. 위의 예시를 보자면 7 ^ 10 = 13 7 = 이진수 1111..
알고리즘
2018. 5. 7. 13:23