[프로그래머스/C++]Lv.1 - 같은 숫자는 싫어

YH J·2023년 5월 14일
0

프로그래머스

목록 보기
85/168

문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/12906

내 풀이

for문을 돌리면서 원소의 다음 인덱스가 다른 숫자면 해당 원소를 push한다. 마지막 원소는 비교 할 대상이 없고, 앞에 같은 원소가 있던 아니던 무조건 추가해줘야 한다.

내 코드

#include <vector>
#include <iostream>

using namespace std;

vector<int> solution(vector<int> arr) 
{
    vector<int> answer;
    for(auto i = 0; i < arr.size() - 1;i++)
    {
        if(arr[i] != arr[i+1])
        {
            answer.push_back(arr[i]);
        }
    }
     answer.push_back(arr[arr.size()-1]);
    // [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
    return answer;
}

다른 사람의 풀이

#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;

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

    arr.erase(unique(arr.begin(), arr.end()),arr.end());

    vector<int> answer = arr;
    return answer;
}

다른 사람의 풀이 해석

unique함수와 erase 함수를 사용하여 중복되는 원소를 제거해준다.

profile
게임 개발자 지망생

0개의 댓글