https://school.programmers.co.kr/learn/courses/30/lessons/12906
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
그냥 for문으로 순회하며 현재 값이 앞의 값이랑 같다면 continue
다르다면 answer에 push 해서 answer 리턴
** unique 함수를 사용해 arr.begin() 부터 arr.end() 까지 중복되는 값을 탐색하여
erase하는 방법을 사용하면 한줄로 풀이 가능
vector<int> solution(vector<int> arr)
{
vector<int> answer;
int cur = -1;
for (auto i : arr) {
if (cur == i)
continue;
else
answer.push_back(i);
cur = i;
}
return answer;
}
Unique 함수 사용
vector<int> solution(vector<int> arr)
{
arr.erase(unique(arr.begin(), arr.end()),arr.end());
return arr;
}
'코딩테스트 > 문제풀이' 카테고리의 다른 글
[프로그래머스] 124나라의 숫자 C++ (0) | 2022.08.16 |
---|---|
[프로그래머스] 올바른 괄호 C++ (0) | 2022.08.14 |
[프로그래머스] 주식가격 C++ (0) | 2022.08.14 |
[프로그래머스] 다리를 지나는 트럭 C++ (0) | 2022.08.14 |
[프로그래머스] 프린터 C++ (0) | 2022.08.10 |