728x90
문제
여러 개의 정수로 이루어진 리스트가 입력된다. 이 리스트의 수는 0이상 9이하로 존재한다.
이때 연속으로 존재하는 숫자는 한 개만 남기고 모두 제거하도록 한다.
입력
[1,1,3,3,0,1,1]
출력
[1,3,0,1]
1. 현재 인덱스와 다음 인덱스의 수가 같으면 continue를 하고 다르면 answer에 수를 추가한다.
2. 인덱스가 증가하다가 마지막 인덱스에 도달 했을 때 마지막 숫자를 answer에 추가한다.
3. answer에는 문제에서 요구하는 숫자만 남게된다.
python
def solution(arr):
answer = []
for idx in range(len(arr)):
if idx==len(arr)-1:
answer.append(arr[idx])
continue
if arr[idx]==arr[idx+1]:
continue
else:
answer.append(arr[idx])
return answer
c++
#include <vector>
#include <iostream>
using namespace std;
vector<int> solution(vector<int> arr)
{
vector<int> answer;
int size=arr.size();
for(int i=0;i<size;i++){
if(i==size-1){
answer.push_back(arr[i]);
continue;
}
if(arr[i]==arr[i+1])
continue;
else{
answer.push_back(arr[i]);
}
}
return answer;
}
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
[Level1] 모의고사 (0) | 2021.01.22 |
---|---|
[Level1] 완주하지 못한 선수 (0) | 2021.01.22 |
[Level1] 나누어 떨어지는 숫자배열 (0) | 2021.01.21 |
[Level1] 자릿수 더하기 (0) | 2021.01.21 |
[Level1] 시저 암호 (0) | 2021.01.21 |