Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- boj #baekjoon #c++
- VS #비주얼스튜디오
- 비주얼 스튜디오 #vs #visual studio
- flutter #플러터 #분석
- 백준
- unity #2d-game #minigame #vscode
- 비주얼스튜디오 #코드스니펫
- 플러터 #flutter #restful #rest api
- flutter #플러터
- flutter #app #취준
- flutter #git
- 인턴 #프론트엔드 #개발자 #프론트엔드개발자 #취준
- boj #c++
- flutter #상태관리
- flutter #깃
- unity #2d-game
- git #unity #깃허브
- flutter #firebase #플러터 #파이어베이스 #연동
- baekjoon #boj #c++
- baekjoon #백준 #boj
- flutter #todolist
- firebase #파이어베이스
- #유데미 #udemy #웅진씽크빅 #스나이퍼팩토리 #인사이드아웃 #미래내일일경험 #프로젝트캠프 #부트캠프 #react #리액트프로젝트 #프론트엔드개발자양성과정 #개발자교육과정
- 백준 #boj #baekjoon
- 백준 #boj
- 백준 #c++
- 유데미 #udemy #웅진씽크빅 #스나이퍼팩토리 #인사이드아웃 #미래내일일경험 #프로젝트캠프 #부트캠프 #react #리액트프로젝트 #프론트엔드개발자양성과정 #개발자교육과
- Flutter
- 로컬저장소 #이름변경
- boj #baekjoon
Archives
- Today
- Total
cococo-coding
[C++ 풀이] 10845번. 큐 본문
문제
풀이
큐에 대한 기본함수를 학습하기 좋은 문제이다.
명령은 push X, pop, size, empty, front, back으로 총 6가지가 있는데 기본함수로 구현할 수 있다.
1. push X (데이터 삽입)
X를 입력받고, q.push(X) 처리를 해준다.
따로 출력을 하라는 말은 없으므로 푸쉬만 해준다.
2. pop (데이터 삭제)
큐가 비어있는 경우를 q.empty()로 확인해서 -1을 출력한다.
아니라면 가장 앞에 있는 정수를 q.front()로 출력해주고, q.pop()으로 삭제해준다.
3. size (큐의 사이즈)
큐의 사이즈를 q.size()로 찾아 출력해준다.
4. empty (큐가 비어있는지 확인)
큐가 비어있는지를 확인해주는 함수다.
q.empty()로 확인하고 비어있다면 1을, 아니라면 0을 출력한다.
5. front (앞의 데이터 반환)
큐가 비어있는지를 먼저 확인해줘야한다.
비어있다면 -1을 출력하고, 아니라면 q.front()를 출력해준다.
6. back(뒤의 데이터 반환)
front와 마찬가지로 큐가 비어있는지를 확인해준다.
비어있다면 -1을 출력하고, 아니라면 q.back()을 출력해준다.
코드
#include <iostream>
#include <queue>
using namespace std;
/*
1. n을 입력받는다.
2. 각 명령에 따라 원하는 결과를 만든다.
*/
int main() {
//1
int n;
cin >> n;
//2
queue <int> q;
while (n--) {
string str;
cin >> str;
if (str == "push") {
int num;
cin >> num;
q.push(num);
//cout << q.front() << '\n';
}
else if (str == "pop") {
if (q.empty())cout << "-1" << '\n';
else {
cout << q.front() << '\n';
q.pop();
}
}
else if (str == "size") {
cout << q.size() << '\n';
}
else if (str == "empty") {
if (q.empty()) cout << "1" << '\n';
else cout << "0" << '\n';
}
//front() 와 back()도 cout처리 해줘야함
else if (str == "front") {
if (q.empty()) cout << "-1" << '\n';
else cout << q.front() << '\n';
}
else if (str == "back") {
if (q.empty()) cout << "-1" << '\n';
else cout << q.back() << '\n';
}
}
return 0;
}
'[BOJ] 코드 모음 > C++_learning 문제집' 카테고리의 다른 글
[C++ 풀이] 7568번. 덩치 (0) | 2024.01.19 |
---|---|
[C++ 풀이] 10866번. 덱 (1) | 2024.01.19 |
[C++ 풀이] 10828번. 스택 (0) | 2024.01.19 |
[C++ 풀이] 2484번. 주사위 네개 (0) | 2024.01.18 |
[C++ 풀이] 5586번. JOI와 IOI (0) | 2024.01.17 |