본문 바로가기
Baekjoon/[Code.plus] 알고리즘 기초 1/2

[BOJ/백준] 10845 큐

by 해적거북 2021. 7. 26.
728x90

● [문제번호 10845] 큐

https://www.acmicpc.net/problem/10845

 

10845번: 큐

첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지

www.acmicpc.net

 

● 알아야 할 것

: queue 자료구조와 메소드

 

● 풀이 과정

: queue 자료구조와 메소드 사용을 묻는 간단한 문제

 

● 주의 할 것

: NULL

 

● 참고 할 것

: NULL

 

● 풀이 코드

#include <bits/stdc++.h>

using namespace std;

queue<int> q;
string cmd;
int N, X;

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    
    cin >> N;
    
    for(int n = 0; n < N; n++)
    {
        cin >> cmd;
        
        if(cmd == "push")
        {
            cin >> X;
            
            q.push(X);
        }
        else if(cmd == "pop")
        {
            if(q.empty())
                cout << -1 << "\n";
            // pop 은 삭제만 수행하므로
            // front 를 사용하여 삭제할 원소를 출력함
            else
            {
                cout << q.front() << "\n";
                q.pop();
            }
        }
        else if(cmd == "size")
        {
            cout << q.size() << "\n";
        }
        else if(cmd == "empty")
        {
            if(q.empty())
                cout << 1 << "\n";
            else
                cout << 0 << "\n";
        }
        else if(cmd == "front")
        {
            if(q.empty())
                cout << -1 << "\n";
            else
                cout << q.front() << "\n";
        }
        else if(cmd == "back")
        {
            if(q.empty())
                cout << -1 << "\n";
            else
                cout << q.back() << "\n";
        }
    }
    
    
    return 0;
}

 

 

● [백준] - [알고리즘 기초 1/2] - [200 - 자료구조 1] 문제집

번호 문제 번호 문제 이름 풀이 링크
1 10828 스택 https://pirateturtle.tistory.com/153
2 9093 단어 뒤집기 https://pirateturtle.tistory.com/154
3 9012 괄호 https://pirateturtle.tistory.com/155
4 1874 스택 수열 https://pirateturtle.tistory.com/156
5 1406 에디터 https://pirateturtle.tistory.com/158
6 10845 https://pirateturtle.tistory.com/161
7 1158 요세푸스 문제 https://pirateturtle.tistory.com/162
8 10866 https://pirateturtle.tistory.com/164

 

728x90

댓글