π 곡λΆνλ μ§μ§μνμΉ΄λ μ²μμ΄μ§?
[BAEKJOON C++] 10843_ν λ³Έλ¬Έ
728x90
λ°μν
μ μλ₯Ό μ μ₯νλ νλ₯Ό ꡬνν λ€μ,
μ λ ₯μΌλ‘ μ£Όμ΄μ§λ λͺ λ Ήμ μ²λ¦¬νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
λͺ λ Ήμ μ΄ μ¬μ― κ°μ§μ΄λ€.
push X: μ μ Xλ₯Ό νμ λ£λ μ°μ°μ΄λ€.
pop: νμμ κ°μ₯ μμ μλ μ μλ₯Ό λΉΌκ³ , κ·Έ μλ₯Ό μΆλ ₯νλ€.
λ§μ½ νμ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
size: νμ λ€μ΄μλ μ μμ κ°μλ₯Ό μΆλ ₯νλ€.
empty: νκ° λΉμ΄μμΌλ©΄ 1, μλλ©΄ 0μ μΆλ ₯νλ€.
front: νμ κ°μ₯ μμ μλ μ μλ₯Ό μΆλ ₯νλ€.
λ§μ½ νμ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
back: νμ κ°μ₯ λ€μ μλ μ μλ₯Ό μΆλ ₯νλ€.
λ§μ½ νμ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
μ λ ₯
첫째 μ€μ μ£Όμ΄μ§λ λͺ λ Ήμ μ N (1 ≤ N ≤ 10,000)μ΄ μ£Όμ΄μ§λ€.
λμ§Έ μ€λΆν° Nκ°μ μ€μλ λͺ λ Ήμ΄ νλμ© μ£Όμ΄μ§λ€.
μ£Όμ΄μ§λ μ μλ 1λ³΄λ€ ν¬κ±°λ κ°κ³ , 100,000λ³΄λ€ μκ±°λ κ°λ€.
λ¬Έμ μ λμμμ§ μμ λͺ λ Ήμ΄ μ£Όμ΄μ§λ κ²½μ°λ μλ€
μΆλ ₯
μΆλ ₯ν΄μΌνλ λͺ λ Ήμ΄ μ£Όμ΄μ§ λλ§λ€, ν μ€μ νλμ© μΆλ ₯νλ€.
// [10843] ν
/*
μ μλ₯Ό μ μ₯νλ νλ₯Ό ꡬνν λ€μ,
μ
λ ₯μΌλ‘ μ£Όμ΄μ§λ λͺ
λ Ήμ μ²λ¦¬νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
λͺ
λ Ήμ μ΄ μ¬μ― κ°μ§μ΄λ€.
push X: μ μ Xλ₯Ό νμ λ£λ μ°μ°μ΄λ€.
pop: νμμ κ°μ₯ μμ μλ μ μλ₯Ό λΉΌκ³ , κ·Έ μλ₯Ό μΆλ ₯νλ€.
λ§μ½ νμ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
size: νμ λ€μ΄μλ μ μμ κ°μλ₯Ό μΆλ ₯νλ€.
empty: νκ° λΉμ΄μμΌλ©΄ 1, μλλ©΄ 0μ μΆλ ₯νλ€.
front: νμ κ°μ₯ μμ μλ μ μλ₯Ό μΆλ ₯νλ€.
λ§μ½ νμ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
back: νμ κ°μ₯ λ€μ μλ μ μλ₯Ό μΆλ ₯νλ€.
λ§μ½ νμ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
μ
λ ₯
첫째 μ€μ μ£Όμ΄μ§λ λͺ
λ Ήμ μ N (1 ≤ N ≤ 10,000)μ΄ μ£Όμ΄μ§λ€.
λμ§Έ μ€λΆν° Nκ°μ μ€μλ λͺ
λ Ήμ΄ νλμ© μ£Όμ΄μ§λ€.
μ£Όμ΄μ§λ μ μλ 1λ³΄λ€ ν¬κ±°λ κ°κ³ , 100,000λ³΄λ€ μκ±°λ κ°λ€.
λ¬Έμ μ λμμμ§ μμ λͺ
λ Ήμ΄ μ£Όμ΄μ§λ κ²½μ°λ μλ€
μΆλ ₯
μΆλ ₯ν΄μΌνλ λͺ
λ Ήμ΄ μ£Όμ΄μ§ λλ§λ€, ν μ€μ νλμ© μΆλ ₯νλ€.
*/
#define _CRT_SECURE_NO_WARNINGS
// νμ€ μ€νΈλ¦Όμμ μ½κΈ° λ° μ°κΈ°λ₯Ό μ μ΄νλ κ°μ²΄λ₯Ό μ μΈ
#include <iostream>
#include <algorithm> // find
#include <string>
#include <cmath> // abs
#include <vector>
#include <queue>
using namespace std;
int main() {
queue<int> Q;
int N;
cin >> N;
while (N--) {
string str;
cin >> str;
// push X: μ μ Xλ₯Ό νμ λ£λ μ°μ°μ΄λ€.
if (str == "push") {
int X;
cin >> X;
Q.push(X);
}
// pop: νμμ κ°μ₯ μμ μλ μ μλ₯Ό λΉΌκ³ , κ·Έ μλ₯Ό μΆλ ₯νλ€.
// λ§μ½ νμ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
else if (str == "pop") {
if (!Q.empty()) {
cout << Q.front() << "\n";
Q.pop();
}
else
cout << "-1\n";
}
// size: νμ λ€μ΄μλ μ μμ κ°μλ₯Ό μΆλ ₯νλ€.
else if (str == "size") {
cout << Q.size() << "\n";
}
// empty: νκ° λΉμ΄μμΌλ©΄ 1, μλλ©΄ 0μ μΆλ ₯νλ€.
else if (str == "empty") {
cout << Q.empty() << "\n";
}
// front: νμ κ°μ₯ μμ μλ μ μλ₯Ό μΆλ ₯νλ€.
// λ§μ½ νμ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
else if (str == "front") {
if (!Q.empty()) {
cout << Q.front() << "\n";
}
else
cout << "-1\n";
}
// back: νμ κ°μ₯ λ€μ μλ μ μλ₯Ό μΆλ ₯νλ€.
// λ§μ½ νμ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
else if (str == "back") {
if (!Q.empty()) {
cout << Q.back() << "\n";
}
else
cout << "-1\n";
}
}
return 0;
}
728x90
λ°μν
'π¦₯ μ½ν > BAEKJOON' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BAEKJOON C++] 11656_μ λ―Έμ¬ λ°°μ΄ (0) | 2023.07.28 |
---|---|
[BAEKJOON C++] 10866_λ± (0) | 2023.07.28 |
[BAEKJOON C++] 10828_μ€ν (0) | 2023.07.28 |
[BAEKJOON C++] 1026_보물 (0) | 2023.07.28 |
[BAEKJOON C++] 10867_μ€λ³΅ λΉΌκ³ μ λ ¬νκΈ° (0) | 2023.07.27 |
Comments