[BOJ알고리즘, C++]#1158_요세푸스 문제
BOJ 알고리즘 문제 풀이, 1158번 문제 "요세푸스 문제"
C++의 STL이 제공하는 queue 컨테이너를 활용하는 문제
Overview
- 문제
- 풀이
- 코드
#1. 문제
#2. 풀이
1. 큐
- [정의] : 큐는 선입선출 방식으로 동작하는 선형 자료입니다. 동일한 크기와 유형의 데이터를 데이터 목록의 한쪽 방향에선 '삽입'하며, 다른 한쪽에선 '제거'합니다.
2. queue 컨테이너
3. queue 컨테이너를 활용한 원소 재배치
- 먼저, 입력으로 받은 원소들을 모두 queue 컨테이너에 차례대로 삽입합니다.
- 다음으로, K번 큐의 첫 번째 원소를 큐의 마지막 위치로 재배치합니다.
- 그리고, q.front()를 통해 큐의 첫 번째 원소를 출력합니다.
#3. 코드
#include <iostream>
#include <queue>
using namespace std;
int main()
{
int N, K;
cin >> N >> K;
queue<int> q;
for(int i = 1; i <= N; i++)
{
q.push(i);
}
cout << '<';
while(!q.empty())
{
for (int i = 0; i < K - 1; i++) {
q.push(q.front());
q.pop();
}
cout << q.front();
q.pop();
if(!q.empty())
{
cout << ", ";
}
}
cout << '>';
return 0;
}
'문제 풀이 > BOJ 문제 풀이' 카테고리의 다른 글
[BOJ알고리즘, C++]#10799_쇠 막대기, 선형 자료구조, 스택 (2) | 2023.11.23 |
---|---|
[BOJ알고리즘, C++]#1927_최소 힙, 힙, 우선순위 큐 (1) | 2023.11.23 |
[BOJ알고리즘, C++]#1655_가운데를 말해요, 우선순위 큐, 최소 힙, 최대 힙 (0) | 2023.11.23 |
[BOJ알고리즘, C++]#3015_오아시스 재결합, 스택 (0) | 2023.09.29 |
[BOJ알고리즘, C++]#1725_히스토그램, 스택 (2) | 2023.09.25 |