문제 링크
- https://www.acmicpc.net/problem/2164
사용 알고리즘
- 큐
시간복잡도
- O(n)
풀이
https://justicehui.github.io/2018/06/10/BOJ2161.html
이 문제와 거의 동일한 문제이니 이 글을 먼저 읽고 와주시기 바랍니다.
바로 해결방법을 적어보겠습니다.
- 마지막에 나올 값을 저장할 변수 ans 선언
- n 입력
- 1부터 n까지의 수를 queue에 삽입
- ans에 q.front() 저장
- q.pop()
- q.front()의 값을 push
- q.pop()
3번에서 ans에 q.front()를 저장하는 이유는 가장 최근에 나온 카드를 계속 갱신해서 마지막으로 나온 카드를 최종적으로 출력하기 위해 q.front() 를 저장합니다.
전체 코드
1 |
|