분류 전체보기
-
[백준]1057번 토너먼트 with Node.jsProgramming/Algorithm 2023. 2. 26. 13:28
//1057번 토너먼트 문제, 각각의 등수는 (n/2+n%2)로 구할 수 있다. const filePath = process.platform === "linux" ? "/dev/stdin" : "testInput.txt"; const [N, ...arr] = require("fs").readFileSync(filePath).toString().trim().split(" ").map(Number); let [zi,im] = [...arr]; let result = 0; while(zi !== im){ zi = parseInt(zi/2+zi%2); im = parseInt(im/2+im%2); result++; }; console.log(result !== 0 ? result : -1);
-
(mac)NVM 설치 및 Node 버전 관리하기.Programming/NodeJs 2023. 2. 19. 23:23
nvm은 Node.js의 다양한 버전을 관리하고 전환할 수 있도록 해주는 유용한 도구로써 nvm을 설치하는 방법은 다음과 같다. 1.Homebrew 설치하기 (만약 Homebrew가 이미 설치되어 있다면 이 단계를 건너뛰세요) 터미널을 열고 다음 명령어를 입력합니다. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 2.nvm 설치하기 터미널을 열고 다음 명령어를 입력합니다. curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 3.nvm 적용하기 터미널에서 다음 명령어를 입력하여 nvm을 사용할..
-
[백준]10845번 큐 with Node.jsProgramming/Algorithm 2023. 2. 11. 14:27
//10845번 큐 문제, 스위치문을 사용하여 풀었고 결과는 다른 이들에 비해 속도는 25% 정도 빠르지만 메모리를 10% 정도 더 사용한다. let [ N,...input ] = require("fs").readFileSync("testInput.txt").toString().trim().split("\n").map(v => v.split(" ")); const queue = []; let result = ''; for(let i = 0; i < N; i++) { // switch(input[i][0]){ case "push": queue.push(input[i][1]); break; case "pop": result += (queue.length === 0 ? "-1" : queue.shift()) ..
-
[백준]10773번 제로 with Node.jsProgramming/Algorithm 2023. 2. 10. 23:04
//10773번 제로, 해당 문제는 0이 주어지면 가장 최근에 불린 수를 없애는 방식이라 FILO 형태의 스택 구조 임을 알 수 있다. //이에 유의하여 0이 나올 시 스택의 가장 윗 부분 수를 제거하여 주면 된다. const [ N,...input ] = require("fs").readFileSync("testInput.txt").toString().trim().split("\n").map(Number); const stack = []; let result = 0; for(let i = 0; i
-
[백준]2828번 사과 담기 게임 with Node.jsProgramming/Algorithm 2023. 2. 4. 15:03
const [input, ...appleCoordinate] = require("fs").readFileSync("testInput.txt").toString().trim().split("\n").map(v => v.split(" ").map(Number)); // const screenSize = input[0]; const basketSize = input[1]; // const totalDropApple = appleCoordinate.shift(); appleCoordinate.shift(); let move = 0; let left = 0; let right = 0 + (basketSize - 1); //바구니 크기에서 -1을 한 값이 left와 같다면, 바구니 크기는 1칸 짜리임을 의미 for..
-
[백준]1417번 국회의원 선거 with Node.jsProgramming/Algorithm 2023. 2. 3. 19:05
const [N,...arr] = require("fs").readFileSync("testInput.txt").toString().trim().split("\n").map(Number); let answer = 0; while(true){ let max = 0; for(let i=0;i= arr[max]) max = i; }; if(max === 0) break; //첫번째인 다솜이는 증가, 제일 많은 득표수를 가진 사람들은 값을 하나씩 감소 시킨다. arr[0]++; arr[max]--; answer++; }; console.log(answer); Node.js 버전의 풀이가 없어서 업로드 한다.
-
[백준]5347번 LCM with Node.jsProgramming/Algorithm 2023. 2. 2. 19:06
const [N,...input] = require("fs").readFileSync("testInput.txt").toString().trim().split("\n").map(v => v.split(" ").map(Number)); for (let i = 0; i 0) { a = b; b = mod; mod = a % b; }; return b; }; //주어진 두 수 사이의 최소공배수를 구하는 것은 주어진 두 수를 곱한 값을 두 수의 최소 공약수..
-
[백준]2635번 수 이어가기 with Node.jsProgramming/Algorithm 2023. 2. 1. 18:49
const n = require("fs").readFileSync("testInput.txt").toString().trim(); let max = 0; let maxArr = new Array(); let prevA,prevB; for(let i = 1; i =0) { arr.push(temp); }else{ break; }; prevA = prevB; prevB = temp; }; if(max < arr.length){ max = arr.length; maxArr = arr; }; }; console.log(max); console.log(maxArr.toString().replace(/,/gi,' ')); 초기에 주어진 값과 반복문의 순서 값을 이용하여 이전 값과 그 이전의 값을 비교해가며 진행 한..