[백준] 1874 스택 수열 C++
문제
코드
#include <iostream>
#include <stack>
#include <vector>
using namespace std;
// 스택 수열
int main() {
ios::sync_with_stdio(0);
int n;
cin >> n;
vector<int> v;
vector<char> v2;
int num;
for(int i=0; i<n; i++) {
cin >> num;
v.push_back(num);
}
stack<int> st;
int j=0;
for(int i=1; i<=n; i++) {
st.push(i);
v2.push_back('+');
while(!st.empty() && st.top()==v[j]) {
st.pop();
v2.push_back('-');
j++;
}
}
if(!st.empty()) { cout << "NO\n"; }
else {
for(int i=0; i<v2.size(); i++) {
cout << v2[i] << '\n';
}
}
return 0;
}
📢
#include <iostream>
#include <stack>
#include <vector>
using namespace std;
// 스택 수열
int main() {
ios::sync_with_stdio(0);
int n;
cin >> n;
vector<int> v;
vector<char> v2;
int num;
for(int i=0; i<n; i++) {
cin >> num;
v.push_back(num);
}
stack<int> st;
int j=0;
for(int i=1; i<=n; i++) {
st.push(i);
v2.push_back('+');
while(!st.empty() && st.top()==v[j]) {
st.pop();
v2.push_back('-');
j++;
}
}
if(!st.empty()) { cout << "NO\n"; }
else {
for(int i=0; i<v2.size(); i++) {
cout << v2[i] << '\n';
}
}
return 0;
}
NO가 나오지 않는 경우 즉, + -를 출력하는 경우는 잘 됐는데 NO를 출력하는 입력에서 맞는 출력이 나오지 않아서 조금 헤맸다.
어려운 문제가 아니었는데🙄
Author And Source
이 문제에 관하여([백준] 1874 스택 수열 C++), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dbsrud11/백준-1874-스택-수열-C저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)