본문 바로가기
반응형

분류 전체보기201

[백준] node.js/ 2606_바이러스 이번 문제는 쉽지 않았다. dfs를 이용해 풀이하는 문제였고, 나는 dfs에 아직 약하기 때문에 더 많이 공부해야 한다ㅏ. 정답 풀이 n+1을 하는 이유는 인덱스와 수를 맞춰주기 위해서! ( 0 idx의 값은 쓰지 않는다고 보면 된다.) const fs = require('fs'); let input = (fs.readFileSync('./dev/stdin') + '').toString().trim().split('\n'); let n = Number(input.shift()); let m = Number(input.shift()); let graph = [...new Array(n + 1)].map(() => []); let visited = new Array(n + 1).fill(false); let.. 2021. 11. 7.
[백준] node.js/ 1463_1로 만들기 문제를 보자마자 느낌이 왔다. 아 이거.. 알고리즘이 필요하다!!!!! 처음에는 3부터 나누고, 2부터나눋고 -1 하면 되지 라고 생각했는데 천만의 말씀~ 힌트에 떡하니 나와 있는 가르침을 보고 바로 돌렸다. 참고 풀이 const fs = require('fs'); let n = (fs.readFileSync('./dev/stdin') + '').toString().trim(); n = Number(n); const DP = new Array(n + 1).fill(0); for (let i = 2; i 2021. 10. 27.
백준] node.js/ 1448_ 삼각형 만들기 내 풀이 (시간초과) const fs = require('fs'); let input = (fs.readFileSync('./dev/stdin') + '').toString().trim().split('\n'); const n = +input.shift(); let sumArr = []; input = input.map((line) => parseInt(line)); input.sort((a, b) => parseInt(b) - parseInt(a)); const checkTri = (a, b, c) => { return a < b + c; }; for (let i = 0; i < n - 2; i++) { if (checkTri(input[i], input[i + 1], input[i + 2])) { a.. 2021. 10. 23.
[백준] node.js/ 1748_ 수 이어쓰기(1) 내풀이 const fs = require('fs'); let input = (fs.readFileSync('./dev/stdin') + '').toString().trim(); const lenInput = input.length; let cnt = 0; // 1 2 3 // 10-1 100-10 + 120-(100-1) for (let i = 1; i 2021. 10. 22.
[백준] node.js/ 15650 N과M(2) 내 풀이 const fs = require('fs'); let [n, m] = (fs.readFileSync('./dev/stdin') + '').toString().trim().split(' '); let visit = new Array(parseInt(n)).fill(false); n = parseInt(n); m = parseInt(m); let ans = []; const back = (d, n, m, idx) => { if (d === m) { console.log(...ans); return; } for (let i = idx; i < n; i++) { if (visit[i]) continue; visit[i] = true; ans.push(i + 1); back(d + 1, n, m, i);.. 2021. 10. 21.
[백준] node.js/ 15649 N과 M 1 내 풀이 const fs = require('fs'); let [n, m] = (fs.readFileSync('./dev/stdin') + '').toString().trim().split(' '); let ans = []; let visit = new Array(parseInt(n)).fill(false); const back = (d, n, m) => { // m개의 원소까지 찼는지 확인 if (d === m) { console.log(...ans); return; } for (let i = 0; i < n; i++) { if (!visit[i]) { visit[i] = true; ans.push(i + 1); back(d + 1, n, m); ans.pop(); visit[i] = false; } .. 2021. 10. 20.
[백준] node.js/ 1302 베스트셀러 내 풀이 (정답) const fs = require('fs'); let input = (fs.readFileSync('./dev/stdin') + '').toString().trim().split('\n'); input.shift(); let bookDict = {}; input.map((book) => { if (!bookDict[book]) bookDict[book] = 1; else bookDict[book] += 1; }); const sortBook = Object.entries(bookDict) .sort(([aa, a], [bb, b]) => { if (a === b) { return aa < bb ? -1 : aa == bb ? 0 : 1; } return b - a; }) .reduce(.. 2021. 10. 19.
[백준] node.js/ 10866 덱 내 풀이 const fs = require('fs'); let input = (fs.readFileSync('./dev/stdin') + '').toString().trim().split('\n'); input.shift(); let queue = []; const cmdObj = { push_back: (x) => { queue.push(x); return ''; }, push_front: (x) => { queue.unshift(x); return ''; }, pop_front: () => queue.shift() || -1, pop_back: () => queue.pop() || -1, size: () => queue.length, empty: () => (queue[0] ? 0 : 1), fron.. 2021. 10. 18.
[백준] node.js/ 10828 스택 처음 풀이(시간초과) const fs = require('fs'); let input = (fs.readFileSync('./test') + '').toString().trim().split('\n'); input.shift(); let stack = []; input.map((cmd) => { const cmdArr = cmd.split(' '); const command = cmdArr[0]; switch (command) { case 'push': const number = cmdArr[1]; stack.push(parseInt(number)); break; case 'top': if (stack.length === 0) console.log(-1); else console.log(stack[sta.. 2021. 10. 15.
반응형