문제 출처:https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 이 문제는 queue를 통해서 구형했습니다. 제일 아래로 옮기는 카드는 pop으로 빠져나온 후 push로 넣어주고, 버리는 카드는 추가안해주면 됩니다. 코드는 다음과 같습니다: #include #include using namespace std ; int main(){ ios::sync_with_stdio(false) ; cin.tie(NULL) ; cout.tie(NULL) ; que..
문제 출처:https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 문제 분석 출처 : https://www.gleammath.com/post/solve-this-deadly-puzzle-investigating-the-josephus-problem 해당 문제는 요세푸스 순열이라하는 문제입니다. 없어지는 자리를 순서대로 출력하면 되죠. 이 문제는 queue로 해결할 수 있습니다. 자리에서 일어나서 다시 맨 뒤로 앉는다고 생각하면 이해가 쉬울 것입니다. 1번부터 N번까지 queue에 넣습니다. O(n) count = K - 1로 설정합니다..
문제 출처:https://www.acmicpc.net/problem/18258 18258번: 큐 2 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 코드는 다음과 같습니다: #include #include using namespace std ; int main(){ ios::sync_with_stdio(false) ; cin.tie(NULL) ; cout.tie(NULL) ; int N, num ; queue q ; string input ; cin >> N ; for(int i = 0 ; i < N ; i..