3

백준_24511_queuestack

문제의 제목이 questack 이기 때문에 queue 와 stack 을 이용해 푸는 문제라고 착각하기 쉽습니다. 물론 그렇게 풀어도 되지만, 문제의 시간 제한이 1초이기 때문에, 최대한 시간이 적게 걸리는 방식으로 풀어야 합니다. 예제를 보며 작동 방식을 이해하면 어떤 식으로 풀어야 하는지 알 수 있습니다.   예제1번)문제에서 친절하게 각 상태에 대한 큐스택 내부를 차례차례 알려주었습니다. 입력 2번째 줄에서 i번 자료구조가 큐인지 스택인지 알려준 후, b를 입력받습니다. A배열0110[0][1][2][3] B배열1234[0][1][2][3]queuestackstackqueue 이런 식으로, A배열의 값에 따라 B배열에서 stack인지 queue인지 결정됩니다. 그 후, C 배열을 입력받아 하나씩 B에..

백준/c 2024.05.08

백준_12789_도키도키간식드리미

문제 설명에는 스택을 활용하는 문제라고 적혀있지만, 큐와 스택을 동시에 활용하면 더 좋을 것 같아서큐와 스택을 같이 활용하였습니다.     이 과정을 보시면, 왜 스택과 큐를 사용하는지 알 수 있습니다. 현재 줄 서있는 곳에서는, 먼저 줄 선 사람만 먼저 나갈 수 있습니다. ( 큐의 성질과 동일하죠.) 한 명씩만 설 수 있는 공간에서는, 나중에 들어온 사람만 먼저 나갈 수 있습니다. ( 스택의 성질과 동일합니다.)   문제 풀이)이 문제를 풀기 위해서는 다양한 예시를 살펴봐야 합니다. 문제에 나온 예시와 위 사진을 보면, 결과가 나올 때 가지는 공통점이 있습니다. 바로 현재 줄 서있는 곳에 사람이 없다는 점입니다. 그렇다면, 현재 줄 서있는 곳(큐) 가 빌 때까지 반복문을 돌리면 될 것 같습니다. 또 하..

백준/c 2024.05.06

백준_10845_큐(queue)

큐를 구현하는 문제입니다.   큐의 개념)큐는 먼저 넣은 데이터가 먼저 나오는 선입선출(FIFO)의 형태를 가지고 있습니다. 나중에 넣은 데이터가 먼저 나오는 스택과는 정반대의 성질을 지니고 있죠. ( 스택에 대해서는 추후에 정리해보겠습니다 ) 큐에서 front와 rear은 데이터의 시작과 끝 위치를 나타냅니다. rear을 이용해 가장 나중에 최근에 데이터에 접근할 수 있고, front를 통해 가장 나중에 들어간 데이터에 접근할 수 있습니다.   큐의 종류)1. 선형 큐(Linear Queue) : 가장 기본적인 막대기 형태의 큐. 크기가 제한되어 있고 빈 공간을 사용하려면 모든 자료를 꺼내거나 자료를 한 칸씩 옮겨야 한다는 단점이 있습니다. 2. 원형 큐(Circular Queue) : 선형 큐의 단점..

백준/c 2024.05.01