
Description
하나의 원소만 한개의 값을 가지고 나머지는 2개씩 값을 가지고 있는 배열이 있을때 하나의 원소 반환하는 문제입니다.
Solution 1. 비트연산 - XOR
public static int lonelyinteger(List<Integer> a) {
int result = 0;
for(Integer num : a){
result = result^num;
}
return result;
}
비트가 같으면 0, 다르면 1이 되는 XOR 연산을 통해 쌍이 아닌 값을 뽑아 낼 수 있습니다.
((2^2)^(1^1)^(4^4)^(5)) => (0^0^0^5) => 5.
Reference
Lonely Integer | HackerRank
Find the unique element in an array of integer pairs.
www.hackerrank.com
'알고리즘 > HackerRank' 카테고리의 다른 글
[HackerLank] Counting Sort 1 - 문제풀이 (0) | 2022.03.15 |
---|---|
[HackerLangk] Diagonal Difference - 문제풀이 (0) | 2022.03.15 |
[HackerLank] Find the Median - 문제풀이 (0) | 2022.03.13 |
[HackerLank] TimeConversion - 문제풀이 (0) | 2022.03.12 |
[HackerRank] Mini-Max Sum - 문제풀이 (0) | 2022.03.12 |