자료구조: Queue (백준 1021번)
·
Programming
자료구조: Queue백준 1021번: 회전하는 큐문제지민이는 N개의 원소를 포함하고 있는 양방향 순환 큐를 가지고 있다. 지민이는 이 큐에서 몇 개의 원소를 뽑아내려고 한다.지민이는 이 큐에서 다음과 같은 3가지 연산을 수행할 수 있다.첫 번째 원소를 뽑아낸다. 이 연산을 수행하면, 원래 큐의 원소가 a1, ..., ak이었던 것이 a2, ..., ak와 같이 된다.왼쪽으로 한 칸 이동시킨다. 이 연산을 수행하면, a1, ..., ak가 a2, ..., ak, a1이 된다.오른쪽으로 한 칸 이동시킨다. 이 연산을 수행하면, a1, ..., ak가 ak, a1, ..., a_k-1이 된다.큐에 처음에 포함되어 있던 수 N이 주어진다. 그리고 지민이가 뽑아내려고 하는 원소의 위치가 주어진다. (이 위치는 가..
자료구조: Stack (백준 25556번)
·
Programming
자료 구조: Stack백준 25556번: 포스택문제포닉스는 길이가 N인 순열 A와 네 개의 비어 있는 스택을 가지고 있다.길이가 N인 순열이란, 1 이상 N 이하의 서로 다른 정수 N개가 임의로 나열된 수열을 말한다.스택이란 자료구조의 한 종류로 가장 나중에 삽입한 자료가 가장 먼저 나오는 후입선출 (Last In First Out, LIFO)의 특성을 가지고 있다.포닉스는 PPC를 맞아 더러워진 순열을 청소하려 한다.순열을 청소하는 것은 다음과 같은 과정을 통해 순열을 오름차순으로 정렬하는 것을 뜻한다. 즉 순열을 1, 2, 3, … N으로 만들어야 한다.순열 A의 원소들을 앞 원소부터 순서대로 네 개의 스택 중 하나에 삽입한다.순열 A의 모든 원소를 스택에 삽입했다면, 네 개 중 원하는 스택에서 수를..