728x90

2

[백준] 24511번: queuestack

문제 링크https://www.acmicpc.net/problem/24511    풀이 과정queuestack이 어떤 방식으로 작동하는지 보고, 최대한 간단한 방식으로 queuestack을 구현해야 한다. 임의의 원소를 queuestack에 삽입한 경우 길이 n인 queuestack의 i번째 원소가 어떤 값을 리턴하는지를 생각해보자. i번째 원소가 큐일 경우 자신이 이전에 갖고 있던 값을 리턴하고, 스택일 경우 삽입한 원소를 그대로 리턴한다.(임의의 데이터 x0을 삽입했을 때 1번 자료구조가 큐인 경우 x1을 리턴하고, 스택인 경우 x0을 리턴) 즉 스택에 저장된 원소는 절대로 queuestack의 리턴값이 될 수 없고, 큐에 저장된 원소는 다음 자료구조로 넘어가는 방식이라고 볼 수 있다. 위와 같은 이..

[백준] 12789번: 도키도키 간식드리미

문제 링크https://www.acmicpc.net/problem/12789    풀이 과정# 문제에서의 예시1번을 통과시키기 위해 1번 앞에 있는 5번, 4번을 모두 왼쪽 공간으로 이동시킨다.그리고 2번을 통과시키기 위해 앞의 3번을 왼쪽 공간으로 이동시킨다.줄에 있는 사람이 다 없어졌다면, 왼쪽 공간의 3~5번이 왼쪽 공간으로 들어온 순서의 반대로 통과한다. 원래 서있던 줄에서는 순서대로 빠져나갈 수 있고, 왼쪽 공간에서는 들어온 순서의 반대로 빠져나가는 것을 이용해 문제를 해결해야 한다. 1번을 먼저 통과시키기 위해, 입력으로 들어온 순서 정보를 큐에 저장한 뒤 순차적으로 조사하면 문제 상황을 구현할 수 있다. 큐의 앞부분을 확인하고 제거하는 식으로 큐를 순차적으로 조사할 수 있다.(이때 제거의 의..

728x90