https://www.acmicpc.net/problem/12789 12789번: 도키도키 간식드리미 인하대학교 학생회에서는 중간, 기말고사 때마다 시험 공부에 지친 학우들을 위해 간식을 나눠주는 간식 드리미 행사를 실시한다. 승환이는 시험 기간이 될 때마다 간식을 받을 생각에 두근두 www.acmicpc.net Sad 조건 "대기열 사람들은 라인에 들어갈 수 있지만, 라인에서 대기열로 복귀는 불가능하다." 라는 조건이 있었기 때문에 두말 할 필요 없이 큐와 스택을 사용했다. 대기열은 큐, 한 줄로 설 수 있는 라인은 스택으로 구현하였다. Sad가 되는 조건은 대기열에서 라인으로 어떤 사람이 들어갈 때, 현재 가장 앞에 있는 사람보다 그 값이 큰 경우로 지정했다. 다시 대기열로 돌아갈 수 없어 순서 조정..
큐
https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 자료구조 Queue 막상 Queue를 사용해야 한다는 것을 알게 되니 어이없을 만큼 쉽게 풀렸지만, 그 전에는 배열을 사용해 방문 체크를 할 생각을 해서 어렵게 느껴졌던 문제다. 배열로 방문 체크를 한다면 최대 5,000명인 인원수를 다 찾아봐야 할 수도 있으니까. 인원수 N이 5000이고, M 또한 5000이라면 5000명을 다 지우기 위해 5000 ** 2 = 25000000번의 연산이 필요했을 것이다. 물론 그래도 시간 초과가 나진 않았겠지만 너무 비효율적으로 느껴졌다. 또 배열로 ..