※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 15828번 문제인 Router이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/15828
15828번: Router
인터넷을 사용하기 위해서는 컴퓨터에 인터넷 회선을 연결하거나 Wi-Fi를 연결해야 한다. 이렇게 연결된 네트워크를 통해 컴퓨터에는 통신이 가능하다. 마음에 드는 노래나 동영상이 있는 곳에
www.acmicpc.net
라우터에 들어오는 패킷을 큐(queue) 자료구조를 이용해 관리해 주어진 상황의 시뮬레이션을 돌리고 문제를 해결하자.
구체적으로, 새로운 패킷이 들어올 때 큐에 들어있는 패킷이 N개 미만이면 큐에 해당 패킷을 삽입하고, 그렇지 않다면 버려주자. 또한 작업이 끝났음을 입력받을 때마다 큐에 남아있는 가장 먼저 들어온 패킷을 큐에서 내보내주자.
아래는 제출한 소스코드이다.
#include <iostream>
#include <queue>
using namespace std;
int N;
queue<int> que;
int nxt;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> N >> nxt;
while (nxt > -1) {
if (nxt) {
if (que.size() < N) que.push(nxt);
}
else que.pop();
cin >> nxt;
}
if (que.empty()) cout << "empty";
else {
while (!que.empty()) {
cout << que.front() << ' ';
que.pop();
}
}
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 26934 // C++] The Bus Card (0) | 2023.01.12 |
---|---|
[BOJ 6602 // C++] Eeny Meeny Moo (0) | 2023.01.12 |
[BOJ 6601 // C++] Knight Moves (0) | 2023.01.11 |
[BOJ 26933 // C++] Receptet (0) | 2023.01.11 |
[BOJ 26947 // C++] Klockan (0) | 2023.01.11 |