JS
-
문제 이름 : 가장 먼 노드 function solution(n, vertex) { let answer = []; const graph = Array.from(Array(n + 1), () => new Array()); for (const el of vertex) { graph[el[0]].push(el[1]); graph[el[1]].push(el[0]); } const bfs = (start, count) => { let queue = [[start, count]]; let visited = new Array(n + 1).fill(false); visited[1] = true; while (queue.length) { let [next, count] = queue.shift(); for (const ..
[Programmers] 가장 먼 노드 문제 - (javascript)문제 이름 : 가장 먼 노드 function solution(n, vertex) { let answer = []; const graph = Array.from(Array(n + 1), () => new Array()); for (const el of vertex) { graph[el[0]].push(el[1]); graph[el[1]].push(el[0]); } const bfs = (start, count) => { let queue = [[start, count]]; let visited = new Array(n + 1).fill(false); visited[1] = true; while (queue.length) { let [next, count] = queue.shift(); for (const ..
2022.05.05 -
문제 번호 : 1715 번 문제 바로가기 ☞ https://www.acmicpc.net/problem/1715 const fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt"; let input = fs.readFileSync(filePath).toString().split("\r\n"); let heap = [null]; const swap = (a, b) => { [heap[a], heap[b]] = [heap[b], heap[a]]; }; const heappush = (value) => { heap.push(value); let curIdx = heap.length - 1; le..
[BaekJoon] 1715 번 카드 정렬하기 문제 - (nodejs)문제 번호 : 1715 번 문제 바로가기 ☞ https://www.acmicpc.net/problem/1715 const fs = require("fs"); const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt"; let input = fs.readFileSync(filePath).toString().split("\r\n"); let heap = [null]; const swap = (a, b) => { [heap[a], heap[b]] = [heap[b], heap[a]]; }; const heappush = (value) => { heap.push(value); let curIdx = heap.length - 1; le..
2022.05.04 -
문제 이름 : 이중우선순위큐 function solution(operations) { let minHeap = [null]; let maxHeap = [null]; const swap = (m, a, b) => { if (m === "min") { [minHeap[a], minHeap[b]] = [minHeap[b], minHeap[a]]; return; } [maxHeap[a], maxHeap[b]] = [maxHeap[b], maxHeap[a]]; }; const minHeapPush = (value) => { minHeap.push(value); let curIdx = minHeap.length - 1; let parIdx = (curIdx / 2) >> 0; while (curIdx > 1 && ..
[Programmers] 이중우선순위큐 문제 - (javascript)문제 이름 : 이중우선순위큐 function solution(operations) { let minHeap = [null]; let maxHeap = [null]; const swap = (m, a, b) => { if (m === "min") { [minHeap[a], minHeap[b]] = [minHeap[b], minHeap[a]]; return; } [maxHeap[a], maxHeap[b]] = [maxHeap[b], maxHeap[a]]; }; const minHeapPush = (value) => { minHeap.push(value); let curIdx = minHeap.length - 1; let parIdx = (curIdx / 2) >> 0; while (curIdx > 1 && ..
2022.05.03 -
문제 이름 : 다단계 칫솔 판매 문제 내용이 길어 링크로 첨부합니다. https://programmers.co.kr/learn/courses/30/lessons/77486 function solution(enroll, referral, seller, amount) { let graph = Array.from(Array(enroll.length), () => Array()); let money = Array.from(Array(enroll.length), () => Array()); // 저는 bfs 형식을 사용했지만 단방향 상승밖에 없기 때문에 // dfs를 사용하여도 전혀 상관 없습니다. const upToCenter = (name, amount) => { const startIdx = enroll.i..
[Programmers] 다단계 칫솔 판매 문제 - (javascript)문제 이름 : 다단계 칫솔 판매 문제 내용이 길어 링크로 첨부합니다. https://programmers.co.kr/learn/courses/30/lessons/77486 function solution(enroll, referral, seller, amount) { let graph = Array.from(Array(enroll.length), () => Array()); let money = Array.from(Array(enroll.length), () => Array()); // 저는 bfs 형식을 사용했지만 단방향 상승밖에 없기 때문에 // dfs를 사용하여도 전혀 상관 없습니다. const upToCenter = (name, amount) => { const startIdx = enroll.i..
2022.05.02 -
문제 이름 : [1차] 추석 트래픽 function solution(lines) { let answer = 0; const array = []; let count = 0; /* HH:MM:SS.MILI GAP(s) 를 기준으로 값을 받아서 time을 mili초 단위로 변경시켜서 계산합니다. **중요한 것은 end 시간은 1초만큼 더해주어야 예제 2번과 같은 경우를해결할 수 있습니다. */ const changeTimes = (h, m, s, mili, gap) => { const time = ((Number(h)*3600)+(Number(m)*60)+Number(s))*1000+(Number(mili)); array.push([time-(Number(gap)*1000)+1, 'start']); array..
[Programmers] [1차] 추석 트래픽 문제 - (javascript)문제 이름 : [1차] 추석 트래픽 function solution(lines) { let answer = 0; const array = []; let count = 0; /* HH:MM:SS.MILI GAP(s) 를 기준으로 값을 받아서 time을 mili초 단위로 변경시켜서 계산합니다. **중요한 것은 end 시간은 1초만큼 더해주어야 예제 2번과 같은 경우를해결할 수 있습니다. */ const changeTimes = (h, m, s, mili, gap) => { const time = ((Number(h)*3600)+(Number(m)*60)+Number(s))*1000+(Number(mili)); array.push([time-(Number(gap)*1000)+1, 'start']); array..
2022.05.02 -
문제 이름 : 기능개발 function solution(progresses, speeds) { let answer = {}; let maxValue = 0; progresses.map((el,idx)=> { const need = (100-el) % speeds[idx] === 0 ? (100-el)/speeds[idx] : Math.floor((100-el)/speeds[idx])+1; maxValue = Math.max(maxValue, need); answer[maxValue] = (answer[maxValue] || 0) +1; }) return Object.values(answer); } * 100에서 현재 진행된 기능을 빼고 이를 이용해 남은 일자를 구해줍니다. 이 일자는 앞보다 작을 수 없다..
[Programmers] 기능개발 문제 - (javascript)문제 이름 : 기능개발 function solution(progresses, speeds) { let answer = {}; let maxValue = 0; progresses.map((el,idx)=> { const need = (100-el) % speeds[idx] === 0 ? (100-el)/speeds[idx] : Math.floor((100-el)/speeds[idx])+1; maxValue = Math.max(maxValue, need); answer[maxValue] = (answer[maxValue] || 0) +1; }) return Object.values(answer); } * 100에서 현재 진행된 기능을 빼고 이를 이용해 남은 일자를 구해줍니다. 이 일자는 앞보다 작을 수 없다..
2022.04.24