Coding Problem/프로그래머스

[프로그래머스/Lv1] - 같은 숫자는 싫어

마탁이 2021. 4. 25. 18:21

programmers.co.kr/learn/courses/30/lessons/12906

 

코딩테스트 연습 - 같은 숫자는 싫어

배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은

programmers.co.kr

  • 중복된 숫자들을 지우는 문제이며, 효율성 검사 또한 실시한다.
  • iterator를 이용해 이전 prevNum과 비교하며 답을 반환한다.

더보기
#include <vector>
#include <iostream>

#define MAX_SIZE    1000000

using namespace std;

vector<int> solution(vector<int> arr)
{
    vector<int> answer;

    vector<int>::const_iterator iter = arr.begin();
    int prevNum = -1;
    for (; iter != arr.end(); ++iter)
    {
        if(prevNum != *iter)
        {
            answer.push_back(*iter);
            prevNum = *iter;
        }
    }

    return answer;
}

int main()
{
    vector<int> arr = { 1,1,3,3,0,1,1 };
    vector<int> ans = solution(arr);

    for(int item : ans)
    {
        cout << item << " ";
    }
    cout << endl;

    return 0;
}