app.codility.com/programmers/lessons/2-arrays/odd_occurrences_in_array/
Tasks
주어진 배열 A에서 쌍을 이루지 못하는 요소 찾기
배열의 각 요소는 짝을 이루지 않은 하나의 요소를 제외하고
동일한 값을 가진 다른 요소와 쌍을 이룰 수 있다
ex)
--------------------------------------
int[] A = {9, 3, 9, 3, 9, 7, 9};
쌍을 이루지 못한 7 반환
--------------------------------------
Solution
public static int solution(int[] A) {
int answer = 0;
for ( int i = 0; i < A.length; i++) {
int temp = 1;
for ( int j = 0; j < A.length; j++) {
if ( i != j && A[i] == A[j] ) {
temp++;
break;
}
}
if ( temp % 2 != 0 ) {
answer = A[i];
break;
}
}
return answer;
}
TIMEOUT ERROR 발생...
이중 for문 때문에 나온 것이 아닌가 추정...
이중 for문 제외하고 다시 생각
public static int solution(int[] A) {
int answer = 0;
for ( int i : A )
answer = answer ^ i;
return answer;
}
+...
JAVA 비트연산자
XOR 연산 (^)
두 수의 자리수가 다른 경우 1로 변환
비트연산자 종류
-------------------------------------------------------------------
AND 연산 (&)
두 수의 각자리수에 대해 둘다 1일경우 1로 변환
-------------------------------------------------------------------
OR 연산 (|)
두 수의 각자리수가 하나만 1이면 1로 변환
-------------------------------------------------------------------
XOR 연산 (^)
두 수의 자리수가 다른 경우 1로 변환
-------------------------------------------------------------------
NOT 연산 (~)
각 자리수를 반대로 변환
-------------------------------------------------------------------
'Study > Codility' 카테고리의 다른 글
[JAVA] Codility Lesson 3(3) - Time Complexity : TapeEquilibrium (0) | 2023.04.19 |
---|---|
[JAVA] Codility Lesson 3(2) - Time Complexity : PermMissingElem (0) | 2023.03.30 |
[JAVA] Codility Lesson 3(1) - Time Complexity : FrogJmp (0) | 2023.03.29 |
[JAVA] Codility Lesson 2(1) - Arrays : CyclicRotation (0) | 2023.03.13 |
[JAVA] Codility Lesson 1 - Interations : Binary gap (0) | 2023.03.08 |