본문 바로가기

PS/백준

[BOJ] 백준 2164 카드 2 (Swift)

반응형

문제

https://www.acmicpc.net/problem/2164

 

2164번: 카드2

N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가

www.acmicpc.net

풀이

Queue 자료구조를 사용하여 풀이할 수 있습니다.

우선 제일 위에 있는 카드를 바닥에 버리는 행위를 Queue의 삭제 연산으로 볼 수 있습니다.
그렇다면 제일 위에 있는 카드를 맨 밑으로 옮기는 행위를 Queue에서 삭제한 요소를 Queue에 삽입하는 것으로 볼 수 있겠죠?

Queue의 크기가 1이 될 때까지, 반복문을 실행해주고 Queue의 마지막 요소를 출력해주면 됩니다.

소스코드

후기

제일 위에 있는 카드를 버리고, 제일 위에 있는 카드를 맨 아래로 옮기다는 지문을 보고
Queue 자료구조를 떠올릴 수 있었습니다.

반응형