반응형
코드
// you can use includes, for example:
// #include <algorithm>
#include <algorithm>
using namespace std;
// you can write to stdout for debugging purposes, e.g.
// cout << "this is a debug message" << endl;
int solution(vector<int> &A) {
// write your code in C++14 (g++ 6.2.0)
sort(A.begin(), A.end());
for(int i=0; i<A.size(); i=i+2){
if(A[i] != A[i+1]){
return A[i];
}
}
}
실행 결과
TASKS DETAILS : EASY
OddOccurrencesInArray : Find value that occurs in odd number of elements.
Task Score : 100%
Correctness : 100%
Performance : 100%
Detected time complexity : O(N) or O(N*log(N))
총평
우선 입력 받은 배열을 std 라이브러리를 사용해, 정렬을 해줍니다. 그러면 크기 순대로 정렬이 되기 때문에, 2개씩 짝을 지어 정렬이 될 것입니다. 만약 짝이 안맞는 경우에 한해서는 다음 수와 일치하지 않을 것이라 생각하였습니다. 따라서, 정렬을 한 후, 홀수번째의 수가 다음번 수와 일치하는 지에 대해 여부를 체크하고, 일치하지 않은 경우에는 해당 값을 리턴해주도록 하여 문제를 해결하였습니다.
반응형
'SW > 알고리즘' 카테고리의 다른 글
문자열 반전 알고리즘 탐색 : 텍스트를 효율적으로 반전시키는 기술 (0) | 2023.10.13 |
---|---|
Codility란 무엇이며, 기업들은 어떻게 최대한 활용할까요? (0) | 2019.11.01 |
Codility : BinaryGap : C++ : 문제 풀이 (0) | 2019.10.30 |
파이썬 : 프로그래머스 : 시저 암호 : 풀이 (0) | 2019.10.04 |
파이썬 : 프로그래머스 : 약수의 합 : 풀이 (0) | 2019.10.02 |