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;
}

+ Recent posts