프로그래머스 Lv.1 코딩테스트

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

하다블 2022. 3. 2. 19:16
반응형

문제는 다음과 같습니다.

코딩테스트 연습 - 같은 숫자는 싫어 | 프로그래머스 (programmers.co.kr)

 

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

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

programmers.co.kr

 

풀이 코드는 다음과 같습니다.

#include <vector>
#include <iostream>

using namespace std;

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

    answer.push_back(arr[0]);
    
    for(int i{1}; i<arr.size(); i++)
    {
        
        if(answer.back()==arr[i])
        { 
            continue;
        }
        
        answer.push_back(arr[i]);
    }

    return answer;
}

중요한 점은 "연속해서"나타나는 숫자라는 점입니다.

첫 번째 예시에도 나오듯, 같은 숫자라고 해도 [1,3,0,1]이라는 결과로, 맨 앞과 맨 뒤가 같은 숫자입니다.

그렇기 때문에 연속된 숫자에만 신경써주면 될 문제입니다.

반응형