leetcode(리트코드)2월26일 challenge946-Validate Stack Sequences
leetcode(리트코드)2월26일 challenge946-Validate Stack Sequences
leetcode February 946 - Validate Stack Sequences 문제입니다.
1. 문제
https://leetcode.com/problems/validate-stack-sequences/
2. Input , Output
3. 분류 및 난이도
Medium 난이도입니다.
2월26일자 챌린지 문제입니다.
4. 문제 해석
- pushed로 된 벡터와 popped으로 된 벡터가 있습니다. 주어진 순서대로 push를 하고 임의의 pop을 통해 popped 벡터를 만들 수 있는 지 확인합니다.
5. code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class Solution {
public:
bool validateStackSequences(vector<int>& pushed, vector<int>& popped) {
stack<int> st;
int pi=0;
int popi=0;
for(;popi<popped.size();)
{
//처음 접근하면 밑의 st.top()연산을 할 수 없으모로 넣어줍ㄴ디ㅏ.
if(st.empty())
st.push(pushed[pi++]);
while(st.top()!=popped[popi] && pi<pushed.size())
{
st.push(pushed[pi++]);
}
//만약 push배열에 있는 모든 걸 넣었는데 다르다면 false를 리턴합니다.
if(st.top()!=popped[popi])
return false;
st.pop();
++popi;
}
return true;
}
};
6. 결과 및 후기, 개선점
This post is licensed under CC BY 4.0 by the author.