![[백준 2164] 카드2 (C++)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcjTnys%2FbtrlfqY6iij%2FJQeWxjpHY0eAcNPK6ojkjK%2Fimg.png)
[백준 2164] 카드2 (C++)CSE/알고리즘 (algorithm)2021. 11. 16. 23:24
Table of Contents
Problem
https://www.acmicpc.net/problem/2164
2164번: 카드2
N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가
www.acmicpc.net
Comment
1번부터 N번 까지의 숫자가 연속적으로 큐에 들어옵니다.
어느 수가 들어와도 큐는 특정 알고리즘에 의해 돌아가게 되는데, 이는 아래와 같습니다.
1. 제일 앞에 있는 숫자는 우선 빠진다(pop).
2. 그 다음 앞에 있는 숫자는 뒤로 간다(pop + push).
자료구조 중 큐를 이용하여 문제를 해결하면 됩니다.
예제 1을 천천히 따라가보겠습니다.
초기 단계
큐 내부: 1 2 3 4 5 6
1회차)
큐 내부: 3 4 5 6 2 (1은 제거, 2는 뒤로)
2회차)
큐 내부: 5 6 2 4 (3은 제거, 4는 뒤로)
3회차)
큐 내부: 2 4 6 (5는 제거, 6은 뒤로)
4회차)
큐 내부: 6 4 (5는 제거, 6은 뒤로)
5회차)
큐 내부: 4 (6은 제거, 4는 뒤로)
숫자가 하나만 남았으므로 끝나게 됩니다.
Code
Result
728x90
반응형
'CSE > 알고리즘 (algorithm)' 카테고리의 다른 글
[백준 11886] 요세푸스 문제 0 (C++) (0) | 2021.11.17 |
---|---|
[백준 1966] 프린터 큐 (C++) (0) | 2021.11.17 |
[BOJ 2884] 알람 시계 (C++) (0) | 2021.11.14 |
[BOJ 7576] 토마토 (C++) (0) | 2021.11.13 |
[BOJ 1874] 스택 수열 (C++) (0) | 2021.11.10 |
@junyeokk :: 나무보다 숲을
컴퓨터 전공 관련, 프론트엔드 개발 지식들을 공유합니다. React, Javascript를 다룰 줄 알며 요즘에는 Typescript에도 관심이 생겨 공부하고 있습니다. 서로 소통하면서 프로젝트 하는 것을 즐기며 많은 대외활동으로 개발 능력과 소프트 스킬을 다듬어나가고 있습니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!