π»
[λ°±μ€] ν,λ± - 18258. ν 2 λ³Έλ¬Έ
λ¬Έμ
μ΄ λ¬Έμ λ μ¬λ¬λΆμ΄ μ¬μ©νλ ν μλ£κ΅¬μ‘°κ° μκ° λ³΅μ‘λ μμΌλ‘ μΆ©λΆν λΉ λ₯Έμ§ ν μ€νΈνλ λ¬Έμ μ΄λ€. μ λ ₯μ λ²μλ₯Ό μ μΈνλ©΄
10845 (ν) λ¬Έμ μ κ°λ€.
μ μλ₯Ό μ μ₯νλ νλ₯Ό ꡬνν λ€μ, μ λ ₯μΌλ‘ μ£Όμ΄μ§λ λͺ λ Ήμ μ²λ¦¬νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
λͺ λ Ήμ μ΄ μ¬μ― κ°μ§μ΄λ€.
- push X: μ μ Xλ₯Ό νμ λ£λ μ°μ°μ΄λ€.
- pop: νμμ κ°μ₯ μμ μλ μ μλ₯Ό λΉΌκ³ , κ·Έ μλ₯Ό μΆλ ₯νλ€. λ§μ½ νμ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
- size: νμ λ€μ΄μλ μ μμ κ°μλ₯Ό μΆλ ₯νλ€.
- empty: νκ° λΉμ΄μμΌλ©΄ 1, μλλ©΄ 0μ μΆλ ₯νλ€.
- front: νμ κ°μ₯ μμ μλ μ μλ₯Ό μΆλ ₯νλ€. λ§μ½ νμ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
- back: νμ κ°μ₯ λ€μ μλ μ μλ₯Ό μΆλ ₯νλ€. λ§μ½ νμ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
μ λ ₯
첫째 μ€μ μ£Όμ΄μ§λ λͺ λ Ήμ μ N (1 ≤ N ≤ 2,000,000)μ΄ μ£Όμ΄μ§λ€. λμ§Έ μ€λΆν° Nκ°μ μ€μλ λͺ λ Ήμ΄ νλμ© μ£Όμ΄μ§λ€. μ£Όμ΄μ§λ μ μλ 1λ³΄λ€ ν¬κ±°λ κ°κ³ , 100,000λ³΄λ€ μκ±°λ κ°λ€. λ¬Έμ μ λμμμ§ μμ λͺ λ Ήμ΄ μ£Όμ΄μ§λ κ²½μ°λ μλ€.
μΆλ ₯
μΆλ ₯ν΄μΌνλ λͺ λ Ήμ΄ μ£Όμ΄μ§ λλ§λ€, ν μ€μ νλμ© μΆλ ₯νλ€.
μμ μ λ ₯1
15
push 1
push 2
front
back
size
empty
pop
pop
pop
size
empty
pop
push 3
empty
front
μμ μΆλ ₯1
1
2
2
0
1
2
-1
0
1
-1
0
3
μκ°
ν λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νλ©΄ κ°λ¨νκ² ν리λ λ¬Έμ λ€. 10845 λ² λ¬Έμ μ λμΌνκ² μμ±ν΄λ μκ°μ νμΈ 1μ΄ μ΄λ΄κ° λμ€λ λ¬Έμ μλ€.
380msκ° λμμ§λ§ λ μ€μΌ μ μμκΉνμ¬ μκ°μ ν΄λ΄€λλ°, μ‘°κ±΄λΆ μ°μ°μ(μΌνμ°μ°μ)λ₯Ό μ¬μ©ν΄μ μ½λ κΈΈμ΄λ₯Ό μ‘°κΈ μ€μ¬λ΄€λλ° μ μΆνλλ λκ°μ λ©λͺ¨λ¦¬μ μκ°μ΄ λμλ€.
λ§μ μ¬λλ€ νμ΄λ₯Ό λ΄λ³΄λ ν¬μΈν°ν¨μλ₯Ό μ΄ μ¬λλ μκ³ νλλ° μ΄ν΄νκΈ° μ΄λ €μμ κ·Έλλ§ νμ©ν μ μλ λ€λ₯Έ μ½λλ₯Ό 보μλλchar λ°°μ΄μ μ¬μ©ν νμ΄λ²μ΄μλ€. μλνλλ μκ°μ΄ 348msμΌλ‘ μ€μΌ μ μμλ€.
μμ±ν μ½λ
#include <iostream>
#include <queue>
using namespace std;
int main(int argc, const char * argv[]) {
// insert code here...
ios_base::sync_with_stdio(false);
cin.tie(0);
queue<int> q;
int n;
int num;
char s[7];
cin >> n;
for(int i=0; i<n; i++){
cin >> s;
if(s[1]=='u'){
cin >> num;
q.push(num);
}else if(s[1]=='o'){
if(!q.empty()){
cout << q.front() <<"\n";
q.pop();
}else{
cout << -1 << "\n";
}
}else if(s[1]=='i'){
cout << q.size() << "\n";
}else if(s[1]=='m'){
cout << (q.empty() ? 1:0) << "\n";
}else if(s[1]=='r'){
cout << (q.empty() ? -1:q.front()) <<"\n";
}else if(s[1]=='a'){
cout << (q.empty() ? -1:q.back()) << "\n";
}
}
return 0;
}
'μκ³ λ¦¬μ¦ > λ¬Έμ νμ΄ Baekjoon' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€] λμ κ³νλ² - 1904. 01νμΌ (0) | 2020.02.12 |
---|---|
[λ°±μ€] μ΄λΆ νμ - 1920. μ μ°ΎκΈ° (0) | 2020.02.04 |
[λ°±μ€] λ°±νΈλνΉ - 6603. λ‘λ (0) | 2020.02.03 |
[λ°±μ€] μ¬κ· - 2447. λ³ μ°κΈ° - 10 (0) | 2020.02.02 |
[λ°±μ€] λΈλ£¨νΈν¬μ€ - 2231. λΆν΄ν© (0) | 2020.02.01 |