Devlog
Published 2022. 1. 10. 22:32
[백준 2164] 카드2 스터디/알고리즘
#include <iostream>
#include <queue>
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();
        q.push(q.front());
        q.pop();
    }

    cout << q.front() << endl;

    return 0;
}

문제 조건을 살펴보면 상단에는 삭제 작업을 하단에는 삽입 작업이 이루어지므로 큐를 사용(스택은 한 쪽(top)에서 삽입, 삭제가 이루어짐)

q의 사이즈가 1이 될 때까지 (마지막 카드 번호) q의 상단 원소를 삭제하고 삭제하고 난 다음의 상위 원소를 하단에 삽입, 해당 원소는 삭제를 반복한다

'스터디 > 알고리즘' 카테고리의 다른 글

[백준 5597] 과제 안 내신 분...?  (0) 2022.01.13
[백준 5212] 지구 온난화  (0) 2022.01.13
[백준 22864] 피로도  (0) 2022.01.10
[백준 2606] 바이러스  (0) 2022.01.10
[백준 20436] ZOAC 3  (0) 2022.01.10
profile

Devlog

@덩이

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그