2164. 카드2 - node.js / javascript
문제
내 코드
let fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().trim().split("\n");
const n = Number(input[0]);
class Node {
constructor(value) {
this.value = value;
this.next = null;
this.prev = null;
}
}
class LinkedList {
constructor() {
this.head = null;
this.tail = null;
this._size = 0;
}
add(value) {
const newNode = new Node(value);
if (!this.head) {
this.head = newNode;
} else {
this.tail.next = newNode;
newNode.prev = this.tail;
}
this.tail = newNode;
this._size++;
return newNode;
}
getHead() {
return this.head.value;
}
removeHead() {
this.head = this.head.next;
this.head.prev = null;
this._size--;
}
getSize() {
return this._size;
}
}
const linkedList = new LinkedList();
for (let i = 1; i <= n; i++) {
linkedList.add(i);
}
while (linkedList.getSize() > 1) {
linkedList.removeHead();
linkedList.add(linkedList.getHead());
linkedList.removeHead();
}
console.log(linkedList.getHead());
깃허브 링크
let fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().trim().split("\n");
const n = Number(input[0]);
class Node {
constructor(value) {
this.value = value;
this.next = null;
this.prev = null;
}
}
class LinkedList {
constructor() {
this.head = null;
this.tail = null;
this._size = 0;
}
add(value) {
const newNode = new Node(value);
if (!this.head) {
this.head = newNode;
} else {
this.tail.next = newNode;
newNode.prev = this.tail;
}
this.tail = newNode;
this._size++;
return newNode;
}
getHead() {
return this.head.value;
}
removeHead() {
this.head = this.head.next;
this.head.prev = null;
this._size--;
}
getSize() {
return this._size;
}
}
const linkedList = new LinkedList();
for (let i = 1; i <= n; i++) {
linkedList.add(i);
}
while (linkedList.getSize() > 1) {
linkedList.removeHead();
linkedList.add(linkedList.getHead());
linkedList.removeHead();
}
console.log(linkedList.getHead());
https://github.com/highjoon/JS_Algorithm/blob/master/BOJ/%ED%81%90/2164.js
Author And Source
이 문제에 관하여(2164. 카드2 - node.js / javascript), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@arthur/2164.-카드2-node.js-javascript저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)