https://www.acmicpc.net/problem/1874
λ¬Έμ
μ€ν (stack)μ κΈ°λ³Έμ μΈ μλ£κ΅¬μ‘° μ€ νλλ‘, μ»΄ν¨ν° νλ‘κ·Έλ¨μ μμ±ν λ μμ£Ό μ΄μ©λλ κ°λ μ΄λ€. μ€νμ μλ£λ₯Ό λ£λ (push) μ ꡬμ μλ£λ₯Ό λ½λ (pop) μ κ΅¬κ° κ°μ μ μΌ λμ€μ λ€μ΄κ° μλ£κ° μ μΌ λ¨Όμ λμ€λ (LIFO, Last in First out) νΉμ±μ κ°μ§κ³ μλ€.
1λΆν° nκΉμ§μ μλ₯Ό μ€νμ λ£μλ€κ° λ½μ λμ΄λμμΌλ‘μ¨, νλμ μμ΄μ λ§λ€ μ μλ€. μ΄λ, μ€νμ pushνλ μμλ λ°λμ μ€λ¦μ°¨μμ μ§ν€λλ‘ νλ€κ³ νμ. μμμ μμ΄μ΄ μ£Όμ΄μ‘μ λ μ€νμ μ΄μ©ν΄ κ·Έ μμ΄μ λ§λ€ μ μλμ§ μλμ§, μλ€λ©΄ μ΄λ€ μμλ‘ pushμ pop μ°μ°μ μνν΄μΌ νλμ§λ₯Ό μμλΌ μ μλ€. μ΄λ₯Ό κ³μ°νλ νλ‘κ·Έλ¨μ μμ±νλΌ.
μ λ ₯
첫 μ€μ n (1 ≤ n ≤ 100,000)μ΄ μ£Όμ΄μ§λ€. λμ§Έ μ€λΆν° nκ°μ μ€μλ μμ΄μ μ΄λ£¨λ 1μ΄μ nμ΄νμ μ μκ° νλμ© μμλλ‘ μ£Όμ΄μ§λ€. λ¬Όλ‘ κ°μ μ μκ° λ λ² λμ€λ μΌμ μλ€.
μΆλ ₯
μ λ ₯λ μμ΄μ λ§λ€κΈ° μν΄ νμν μ°μ°μ ν μ€μ ν κ°μ© μΆλ ₯νλ€. pushμ°μ°μ +λ‘, pop μ°μ°μ -λ‘ νννλλ‘ νλ€. λΆκ°λ₯ν κ²½μ° NOλ₯Ό μΆλ ₯νλ€.
νμ΄
// Authored by : seondal
// Co-authored by : -
//#include <bits/stdc++.h>
#include <iostream>
#include <stack>
#include <vector>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
stack<int> s;
vector<char> v;
s.push(0);
int n;
cin >> n;
int i=1;
while (n--){
int input;
cin >> input;
while(s.top() < input){
s.push(i);
v.push_back('+');
i++;
}
if(s.top() > input){
cout << "NO";
return 0;
}
while(s.top() == input){
s.pop();
v.push_back('-');
}
}
for(int i=0; i<v.size(); i++){
cout << v[i] << "\n";
}
return 0;
}
/*
*/
'π Baaaaaarking > 0x05κ° - μ€ν' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BOJ G1][C++] λ°±μ€ 3015λ²: μ€μμμ€ μ¬κ²°ν© (0) | 2022.02.16 |
---|---|
[BOJ G4][C++] λ°±μ€ 17298λ²: μ€ν°μ (1) | 2022.02.13 |
[BOJ G5][C++] λ°±μ€ 6198λ²: μ₯μ μ μ κΎΈλ―ΈκΈ° (0) | 2022.02.13 |
[BOJ G5][C++] λ°±μ€ 2493λ²: ν (0) | 2022.02.12 |
[BOJ][C++] λ°±μ€ 10773λ² : μ λ‘ (0) | 2022.01.06 |