본문 바로가기

4

[백준/C,C++] 1966번: 프린터 큐 www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 현재 인쇄 명령의 우선순위가 가장 높으면 인쇄를 하고 아니면 맨 뒤로 보냅니다. 이 중 최초로 입력된 명령들 중 m번째 명령이 몇 번째로 실행되는지 찾으면 되는 문제입니다. 예제 입력 중 두 번째의 경우로 살펴보겠습니다. 번호 0 1 2 3 우선 순위 1 2 3 4 queue에 위 표와 같은 형태로 push가 되어 있다고 가정합니다. 아마도 queue의 형태로 선언했을 겁니당. 여기서 높은 우선순위부터 저장되어있는.. 2021. 3. 16.
[백준/C,C++] 11866번: 요세푸스 문제 0 www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net STL인 vector로 쉽게 해결이 가능한 문제입니다. 현재 지울 번호는 (index + k - 1) % size로 나타낼 수 있는데, 예제의 입력대로 n이 7, k가 3인 경우로 생각해보겠습니다. 1 2 3 4 5 6 7의 수열 중 처음 지워지는 번호는 (0 + 2) % 7로 2번인 3이 됩니다. 다음은 1 2 4 5 6 7의 수열 중 지워지는 번호는 (2 + 2) % 6으로 4번인 6이 됩니다. 1 2 4 5 7의 수열 중 지워지는 번호는 (4 + 2) % 5로 1번인 2가 되죠. #incl.. 2021. 3. 15.
[백준/C,C++] 2164번: 카드2 www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net C++에서 STL로 Queue가 제공되기 때문에 쉽게 구현할 수 있습니다. #include #include using namespace std; int main(void) { int n; cin >> n; queue q; for (int i = 1; i 1) { q.pop(); q.push(q.front()); q.pop(); len = q.size(); } cout 2021. 3. 15.
[백준/C,C++] 18258번: 큐 2 www.acmicpc.net/problem/18258 18258번: 큐 2 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 간단히 큐를 구현하는 문제입니다. 10828번: 스택과 굉장히 유사한 문.. 2021. 3. 15.