컴공 일기268
https://school.programmers.co.kr/learn/courses/30/lessons/12906
프로그래머스 문제 풀이 중입니다.
스케치하는데 한 10분,
구현하는 데 한 5분 걸린 것 같군요.
스택을 쌓았다가, 순서대로 pop 시키고 그 값을 result에 집어넣으면 됩니다.
매우 기초적인 문제라 할 수 있겠네요.
#include <iostream>
#include <vector>
#include <stack>
using namespace std;
vector<int> solution(vector<int> arr)
{
stack<int> st;
int size = arr.size();
st.push(arr[size-1]);
for(int i=size-2; i>=0; i--)
{
if(st.top() != arr[i])
{
st.push(arr[i]);
}
}
int st_size = st.size();
vector<int> answer(st_size);
int tmp_idx = 0;
while(st_size > tmp_idx)
{
int element = st.top();
answer[tmp_idx++] = element;
st.pop();
}
return answer;
}
0 XDK (+0)
유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.
첫번째 댓글의 주인공이 되어보세요.