본문 바로가기
코딩 테스트

[Codility] Lesson2. OddOccurrencesInArray (C++)

by zoodi 2021. 2. 22.
728x90

🔮문제

A non-empty array A consisting of N integers is given. The array contains an odd number of elements, and each element of the array can be paired with another element that has the same value, except for one element that is left unpaired.

For example, in array A such that:

A[0] = 9 A[1] = 3 A[2] = 9 A[3] = 3 A[4] = 9 A[5] = 7 A[6] = 9

  • the elements at indexes 0 and 2 have value 9,
  • the elements at indexes 1 and 3 have value 3,
  • the elements at indexes 4 and 6 have value 9,
  • the element at index 5 has value 7 and is unpaired.

Write a function:

int solution(vector<int> &A);

that, given an array A consisting of N integers fulfilling the above conditions, returns the value of the unpaired element.

 

🔮풀이

A 벡터를 오름차순으로 정렬하고 쌍이 없는 값을 찾아낸다.


🔮코드

#include <algorithm>

int solution(vector<int> &A) {
    int answer = 0;

    sort(A.begin(), A.end());

    int size = A.size();
    int i = 0;
    while(i <= size-1){
        if(A[i] == A[i+1]){
            i += 2;
            continue;
        }
        else{
            answer = A[i];
            break;
        }
    }
    return answer;
}
728x90

댓글