BOJ 문제풀이

백준 10845번 c++ 풀이

koreasunoo 2021. 8. 6. 00:30

안녕하세요 오늘은 큐의 함수를 입력했을때, 그 함수가 실행되고, 그 경과를 출력해야하는 문제를 풀겠습니다.

 

전략:

1. 큐를 선언한다.

2. N번 반복하는 for문을 만들어서 string타입의 a변수를 선언하여 cin으로 입력을 받는다.

3. 입력 받은 a가 push이면 또 int타입의 변수를 선언하여 push함수를 실행해준다.

4. 그 외 front, back, pop은 q.size()를 통하여 만약 안에 들어있는 정수가 존재하지 않는다면 -1을 출력해주고 그게 아니라면 정상적으로 그 함수들을 실행해준다.

 

코드:

#include <bits/stdc++.h>
using namespace std;
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);

	int N;
	cin>>N;
 	queue<int> q;
	for(int i= 0; i<N; i++){
		string a;
		cin>>a;
		if(a=="push"){
			int b;
			cin>>b;
			q.push(b);

		}
		else if(a=="front") {
			if(q.size() == 0){
				cout<<"-1"<<"\n";
				continue;
			}
			cout<<q.front()<<"\n";
		}
		else if(a=="back"){ 
			if(q.size() == 0){
				cout<<"-1"<<"\n";
				continue;
			}
			cout<<q.back()<<"\n";
		}
		else if(a=="empty") cout<<q.empty()<<"\n";
		else if(a=="pop"){
			if(q.size() == 0){
				cout<<"-1"<<"\n";
				continue;
			}
			cout<<q.front()<<"\n";
			q.pop();
		}
		else {

			cout<<q.size()<<"\n";
		}
	}
}

'BOJ 문제풀이' 카테고리의 다른 글

백준 10866번 c++ 풀이  (0) 2021.08.06
백준 2164번 c++ 풀이  (0) 2021.08.06
백준 11050번 c++ 풀이  (0) 2021.08.05
백준 18870번 c++ 풀이  (0) 2021.08.05
백준 1920번 c++ 풀이  (0) 2021.08.04