티스토리 뷰
반응형
백준 1158번 요세푸스 문제
https://www.acmicpc.net/problem/1158
#include<iostream>
#include<queue>
using namespace std;
int main() {
int n, k;
cin >> n >> k;
queue<int>q;
for (int x = 1; x <= n; x++)
q.push(x);
cout << "<";
while (q.size() - 1) {
for (int x = 0; x < k - 1; x++) {
q.push(q.front());
q.pop();
}
cout << q.front() << ", ";
q.pop();
}
cout << q.front() << ">";
}
정답 코드
문제 풀이
큐를 이용해서 푸는 문제입니다. 원형 큐로 생각해서 접근하면 쉽습니다. k-1번째까지 반복문을 돌려서 큐의 앞쪽에 있던 원소를 뒤로 넣어줍니다. 그 후 k번째 원소를 출력한 후 pop()함수를 이용해서 삭제시킵니다.
반응형
'Algorithm > BOJ' 카테고리의 다른 글
백준 1182번 C++ (0) | 2023.07.22 |
---|---|
[C/C++] 백준 1181번 - 단어 정렬 (0) | 2023.07.22 |
백준 1157번 C++ (0) | 2023.07.21 |
백준 1152번 C++ (0) | 2023.07.21 |
백준 1124번 C++ (0) | 2023.07.21 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- DFS
- 백준
- 자바스크립트
- 스프링 부트 crud 게시판 구현
- C++ Stack
- 자바
- java
- 알고리즘 공부
- js
- BFS
- 스택
- 유니온 파인드
- C++
- 이분 매칭
- CSS
- 자료구조
- 백준 풀이
- c++ string
- 반복문
- html
- 에라토스테네스의 체
- Do it!
- 우선순위 큐
- 투 포인터
- 유클리드 호제법
- 세그먼트 트리
- DP
- 알고리즘
- 카운팅 정렬
- HTML5
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함