https://www.acmicpc.net/problem/2164
문제분석
- 분류
- 큐
- 문제설명
- N장의 카드를 입력한다.
- 1부터 N까지의 수를 큐에 입력한다.
- Q를 주어진 조건에 맞게 pop,push,pop 활용한다.
입력
6
출력
4
코드
#include<iostream>
#include<queue>
using namespace std;
int main()
{
queue<int>que;
int N;
cin >> N;
for(int x =1 ; x <= N ; x++)
{
que.push(x);
}
while(que.size()>1) //1개가 남을 때 까지
{
que.pop();
que.push(que.front());
que.pop();
}
cout << que.front(); //마지막 남은 카드
return 0;
}
문제풀이
- stl <queue> 선언
- queue에 1부터 N까지의 수를 입력 -> 반복문으로 push!
- FIFO 원칙에 따라 -> 가장 먼저 있는 원소 pop -> 그 다음 있는 원소는 push -> 해당 원소 pop
'Koala - 7기 > 코딩테스트 준비 스터디' 카테고리의 다른 글
[백준/Python] 2346번: 풍선 터뜨리기 (0) | 2022.08.07 |
---|---|
[백준/JAVA] 11003 최솟값찾기 (0) | 2022.08.06 |
[백준/C++] 1874번 스택 수열 (0) | 2022.08.04 |
[백준/C++] 17612번 쇼핑몰 (0) | 2022.08.04 |
[백준/python] 6236번 용돈관리 (0) | 2022.07.31 |