728x90
프로그래머스 1LV C++ 같은 숫자 싫어
문제 정의
-0~9까지 숫자가 무작위로 나열됨
-연속된 같은 수는 하나로 정리
-입력된 순서대로 출력할 것
문제 풀이
입력받은 크기만큼 반복한다.
맨 처음에는 비교할 애가 없음으로 그냥 answer의 맨뒤에 추가한다.
이후부터는 넣어진 애랑 비교하며 같으면 넘어가고 다르면 answer의 맨뒤에 추가한다.
num을 사용한 이유는 맨 뒤에 있는 숫자와 현재 arr의 숫자를 비교하기 위해서 이다.
다만 굳이 num을 선언하지 않고 answer.back() 을 사용하면 맨뒤의 숫자와 비교할 수 있기 때문에
굳이 num을 사용할 필요는 없다.
#include <vector>
#include <iostream>
using namespace std;
vector<int> solution(vector<int> arr)
{
int num = 0;
vector<int> answer;
for(int i = 0; i < arr.size(); i++){
if(i == 0) answer.push_back(arr.at(i));
if(arr.at(i) != answer.at(num)){
num++;
answer.push_back(arr.at(i));
}
}
return answer;
}
728x90
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
프로그래머스 LV1 C++ 두 정수 사이의 합 풀이 (0) | 2024.04.16 |
---|---|
프로그래머스 C++ LV1 나누어 떨어지는 숫자 배열 풀이 (0) | 2024.04.05 |
프로그래머스 1LV C++ 가운데 글자 가져오기 풀이 (0) | 2024.03.15 |
프로그래머스 1LV C++ 2016년 문제 풀이 (0) | 2024.03.14 |
프로그래머스 1LV C++ 폰켓몬 (0) | 2024.03.13 |