프로그래밍응용/오답노트

프로그래머스, 같은 숫자는 싫어(C++)

photoner 2021. 2. 23. 15:22
728x90
반응형
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <vector>
#include <algorithm>
 
using namespace std;
 
vector<int> solution(vector<int> arr) 
{
    vector<int> answer;
    
    arr.erase(unique(arr.begin(), arr.end()), arr.end());
    answer = arr;
 
    return answer;
}
cs

unique 함수를 이용하여 중복되는 것을 빼는데 중요한 것은 정렬해서는 안된다. 만약에 정렬을 한 뒤, unique 실행해버리면 1, 1, 3 ,3 ,0, 1, 1 의 예에서 0, 1, 3이 나올 것이다. 

unique 함수는 인접한 값들이 중복이면 하나만 남기고 제거한다.

728x90
반응형