본문 바로가기
코딩/문제풀이-백준

백준 2164 - 카드2 (C++)

by 남대현 2021. 5. 7.
반응형

문제

처음에 시간초과 해결 문제인줄 알고 문제 그대로 푸는거 말고 어떤 규칙이 있는거지?? 를 생각했으나..

그냥 문제 그대로 풀면 되는 날먹문제였다. 이게 어떻게 실버에 있는거지?

 

해결방법 : 문제 그대로 돌린다. 코드도 짧음.

코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
#include <queue>
using namespace std;
 
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    
    //입력
    int Num;
    cin >> Num;
 
    queue<int> Que;
    for (int i = 1; i <= Num; ++i)
        Que.push(i);
 
    for (int i = 0; i < Num-1 ; ++i)
    {
        Que.pop();
        Que.push(Que.front());
        Que.pop();
    }
 
    cout << Que.front();
}
cs

맨 위 삭제 -> 맨 위 맨 뒤에 삽입 -> 맨 위 삭제 를 반복.

시간초과라도 띄워야 할듯... 이렇게 풀어도 되는건가

반응형

댓글