
처음 이 문제를 보고 생각난 것은 .. 원형 큐였다 그래서 구현하려고 생각해보았으나.. 사람들이 제거될때마다 빈 공간을 땡겨서 내려와야 하고?... 좀 까다로웠다는 것을 깨달아서 다른 방법을 찾았다 바로 C++의 SLT중 하나인 Queue를 이용하는 것 k번째 사람이 제거될 때는 pop을 하면 되지만 그렇지 않을 경우에는 맨 앞 원소(front)를 큐에 push한 뒤 pop을 하는 방법으로 큐가 empty가 될 때까지 반복하는 방법이다 // BOJ 1158번 : 요세푸스 문제 #include #include using namespace std; int main() { int n, k; // n: 사람 수 / k: k번째 사람 제거 cin >> n >> k; queue q; // q 생성 int count..
📁 STUDY/📝 baekjoon 2021. 9. 7. 18:33