티스토리 뷰

Baekjoon Solutions/Class-2

[백준] 카드2(2164)

률무차 2021. 3. 22. 15:01

title: "카드2(2164)"
category: 백준[Class-2]
tags: [C++, JavaScript, 백준]
date: "2021-03-22"


문제 링크

카드2(2164)

C++

#include <iostream>
#include <vector>
#include <queue>

using namespace std;

// 문제 풀이 함수
void solution(){
    int n;
    cin >> n;

    queue<int> q;
    for(int i=1; i<=n; i++){
        q.push(i);
    }

    while(q.size()>1){
        // 버리고
        q.pop();

        // 밑으로 옮기고
        int front = q.front();
        q.pop();
        q.push(front);
    }

    cout<<q.front()<<"\n";
}

bool exists(const char* fileName){
    FILE* fp;
    if((fp = fopen(fileName, "r"))){
        fclose(fp);
        return true;
    }
    return false;
}

int main() {
    if(exists("stdin")){
        freopen("stdin", "r", stdin);
        solution();
        fclose(stdin);
    }
    else{
        solution();
    }

    return 0;
}

JavsScript

const fs = require("fs");
// split 조절
const input = fs.readFileSync("dev/stdin").toString().trim().split("\n");

// 문제 풀이
const n = +input[0];

// Linked list로 Queue 구현
class Node {
  constructor(data) {
    this.data = data;
    this.next = null;
  }
}

class Queue {
  constructor() {
    this.front = null;
    this.back = null;
    this.length = 0;
  }

  push(data) {
    const node = new Node(data);
    if (this.length === 0) {
      this.front = node;
    } else {
      this.back.next = node;
    }

    this.back = node;
    this.length++;
  }

  pop() {
    if (this.length === 0) {
      return false;
    }
    const data = this.front.data;
    this.front = this.front.next;
    this.length--;

    return data;
  }
}

// Linked list Queue
const queue = new Queue();
for (let i = 1; i <= n; i++) {
  queue.push(i);
}

while (queue.length > 1) {
  // 버리고
  queue.pop();

  // 옮기고
  const front = queue.pop();
  queue.push(front);
}

console.log(queue.front.data);
728x90
반응형

'Baekjoon Solutions > Class-2' 카테고리의 다른 글

[백준] 괄호(9012)  (0) 2021.03.22
[백준] 균형잡힌 세상(4949)  (0) 2021.03.22
[백준] 통계학(2108)  (0) 2021.03.22
[백준] 소수 찾기(1978)  (0) 2021.03.21
[백준] 수 찾기(1920)  (0) 2021.03.21
댓글
05-10 17:12
링크