본문 바로가기
Algorithm/Baekjoon

[백준/BOJ] 2164번 - 카드2 (C++)

by shine-jung 2021. 7. 12.
반응형

문제 링크

 

코딩하기 전 생각하기

/*
큐를 사용하자.
큐의 길이가 1이 될 때 까지 다음을 반복한다.
    맨 앞의 숫자를 pop한다.
    그 다음 맨 앞의 숫자를 pop하고 맨 뒤에 push한다.
마지막 남은 숫자를 출력한다.
*/

 


 

코드

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main() {
    int n;
    queue<int> q;
    cin >> n;
    for ( int i = 1; i <= n; i++ ) {
        q.push(i);
    }
    while ( q.size() > 1 ) {
        q.pop();
        int tmp = q.front();
        q.pop();
        q.push(tmp);
    }
    cout << q.front();
}

 


 

느낀점

 

겨울방학에 자료구조를 예습하면서 풀었던 기억이 난다.

사실 학기 중에는 바빠서 방학 때 공부하는 게 진짜 공부하는 것 같다.

 

(주의) 기록용으로 작성한 글입니다. 코드가 허접하거나 알고리즘의 효율이 낮을 수 있습니다.

댓글 환영합니다!

반응형

댓글