Codility - OddOccurrencesInArray
배열에서 짝이 안맞는 숫자 값 하나를 반환하는 문제이다. 배열이 크기 때문에 효율적으로 구하는 방법을 알아내는 게 중요하다.
A
를 정렬한다. (오름차순/내림차순은 상관 없다.)answer
를 A
의 가장 마지막 값으로 초기화한다.A
를 두 개씩 짝지어 확인하면서, 서로 값이 다르다면 짝이 안맞는 것이기 때문에 그 숫자가 정답이다.// you can also use imports, for example:
import java.util.*;
// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");
class Solution {
public int solution(int[] A) {
// write your code in Java SE 8
Arrays.sort(A);
int N = A.length;
int answer = A[N-1];
for(int i=0; i<N-1; i+=2){
if(A[i] != A[i+1]){
answer = A[i];
break;
}
}
return answer;
}
}