본문 바로가기
Algorithm

JAVA / Codility Lesson 2 / Arrays

by with chu 2021. 4. 23.
728x90

코딜리티 코딩테스트 레슨2


Codility

 

2. Arrays lesson - Learn to Code - Codility

Rotate an array to the right by a given number of steps.

app.codility.com

 

<문제 요약>

홀수 정수들의 배열 A에서 같은 정수들이 짝을 이룬다.
짝이 없는 홀수를 반환하는 함수를 작성한다.
ex)  A = { 9, 3, 9, 3, 9, 7, 9 } 에서 7을 반환

 

 

<문제 풀이>

for문으로 일치하는 숫자를 돌리면 시간이 오래걸려 포퍼먼스 점수가 낮게 나온다.

비트연산자 AND(&), OR(|), XOR(^) 결과표

연산자 비트1 비트2 결과
& 0 0 0
0 1 0
1 0 0
1 1 1
| 0 0 0
0 1 1
1 0 1
1 1 1
^ 0 0 0
0 1 1
1 0 1
1 1 0

두 비트가 다른지 비교할 수 있는 XOR(^) 연산자를 사용할 수 있다.

class Solution {
    public int solution(int[] A) {
        int unpairedElement = 0;
        for(int i = 0; i <A.length; i++){
            unpairedElement = unpairedElement ^ A[i];
        }
        return unpairedElement;
    }
}
728x90

댓글