큐(queue) in C++

Purple·2021년 9월 5일
0

1. n개의 숫자중, k번째의 수를 연속적으로 뺀뒤, 마지막으로 남는 하나의 숫자를 출력하는 코드

#include <iostream>
#include <queue>

using namespace std;

int main() {
	int n, k;
	queue<int> Q;
	
	cin >> n >> k;
	for(int i=1; i<=n; i++) {
		Q.push(i);
	}
	while(!Q.empty()) {
		for(int i=1; i<k; i++) {
			Q.push(Q.front());
			Q.pop();
		}
		Q.pop();
		if(Q.size() == 1) {
			cout << Q.front();
			Q.pop();
		}
	}
	return 0;
}

queue는 원소를 back으로 삽입하고, front로 pop한다.

  • push : 큐에 원소를 삽입하는 역할을 한다. back으로 삽입한다.
  • empty : 큐가 비어있는지 확인하는 역할을 한다.
  • front : 큐의 제일 앞의 원소를 가리킨다.
  • back : 큐의 제일 뒤의 원소를 가리킨다.
  • pop : front가 가리키고 있는, 가장 앞의 원소를 삭제한다.

ex) n = 5, k = 2

profile
안녕하세요.

0개의 댓글