본문 바로가기

stack3

[C++][leetcode] Min Stack :: seoftware 소스코드 class MinStack { stack elements; stack sorted; public: /** initialize your data structure here. */ MinStack() { } void push(int x) { elements.push(x); if(sorted.empty() || sorted.top() >= x) sorted.push(x); } void pop() { if(elements.empty()) return; if(sorted.top() == elements.top()) sorted.pop(); elements.pop(); } int top() { return elements.top(); } int getMin() { return sorted.top(); } .. 2020. 4. 12.
[c++][leetcode] Backspace String Compare :: seoftware #은 앞에 문자를 지우는 역할이다. #이 자기 역할을 모두 수행하고 난 후의 문자열을 비교하는 문제 소스코드 class Solution { public: bool backspaceCompare(string S, string T) { stack s_st, t_st; for(int i = 0; i < S.length(); i++){ if(S[i] != '#') s_st.push(S[i]); else if(!s_st.empty()){ s_st.pop(); } } for(int i = 0; i < T.length(); i++){ if(T[i] != '#') t_st.push(T[i]); else if(!t_st.empty()){ t_st.pop(); } } if(s_st.empty() && t_st.empty(.. 2020. 4. 10.
[C++] 백준 1874번 스택 수열 :: seoftware 문제 https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 소스코드 #include #include using namespace std; int seq[100000]; char result[200000]; int main(void) { //input int N; cin >> N; for (int n = 0; n < N; n++) { scanf("%d", &seq[n]).. 2020. 3. 18.