[algorithm] 백준 2164번 카드2

2026. 1. 17. 19:32·algorithm/큐
반응형

 

1부터 N까지의 원소가 담긴 큐를 설정하고

큐의 남은 원소가 1개가될때까지

홀수 번째 때 맨 앞 원소를 버리고 

짝수 번째 때 맨 앞 원소를 맨 뒤로 옮기는 작업을 반복하므로

count 변수를 설정해서

count가 짝수일 때와 홀수일 때로 나눠서 풀었다

 

#include <iostream>
#include <queue>

using namespace std;

int main() {
    int n;
    cin >> n;
    int count = 1;
    int p;
    queue<int> q;
    
    for(int tmp=1; tmp<n+1; tmp++)
        {
            q.push(tmp);
        }

    while(1)
        {
            if(q.size() == 1) break;
            else
            {
                if(count%2 == 1)
                {
                    q.pop();
                }
                else
                {
                    p = q.front();
                    q.push(p);
                    q.pop(); 
                }
                count++;
            }
        }
    cout << q.back();
    return 0;
}

 

홀수번째 때와 짝수번째 때로 굳이 나누지 않고

두 작업을 한번의 작업으로 생각해서 푸는 방법도 있었다

// Authored by : OceanShape
// Co-authored by : -
// http://boj.kr/de9183460fa945a69e8692510b3fd803
#include <bits/stdc++.h>
using namespace std;

int N;
queue<int> q;

int main(void){
  ios::sync_with_stdio(0);
  cin.tie(0);

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

이렇게하면 굳이 count 변수 설정할 필요 없이

조금 더 간단하고 효율적이게 풀 수 있다

반응형

'algorithm > 큐' 카테고리의 다른 글

[algorithm] 백준 18258번 큐 2  (0) 2026.01.17
[algorithm] 백준 10845번 큐  (0) 2026.01.17
'algorithm/큐' 카테고리의 다른 글
  • [algorithm] 백준 18258번 큐 2
  • [algorithm] 백준 10845번 큐
20puddle
20puddle
20puddle 님의 블로그 입니다.
  • 20puddle
    20puddle 님의 블로그
    20puddle
  • 전체
    오늘
    어제
    • 분류 전체보기 (100)
      • Spring boot (5)
      • git & github (5)
      • algorithm (47)
        • theory (3)
        • 배열 (7)
        • 연결 리스트 (3)
        • 스택 (5)
        • 큐 (3)
        • 덱 (2)
        • 기초 코드 (19)
        • BFS (5)
      • AI (43)
        • Machine Learning (35)
        • Deep Learning (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    git
    딥러닝
    ML
    그레디언트 클리핑
    인공지능
    알고리즘
    AI
    게시판
    DL
    주성분변환
    홀드아웃 검증
    Spring Boot
    백준
    github
    머신러닝
    오프라인 학습
    Java
    연결리스트
    list
    Aimers
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.3
20puddle
[algorithm] 백준 2164번 카드2
상단으로

티스토리툴바