[백준] 9095 - 1, 2, 3 더하기(javascript)
문제 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 나의 풀이 2가지 방식으로 풀이가 가능하다. dp [i] = dp [i - 3] + dp [i - 2] + dp [i - 1] 임을 이용한 dp 방법, 0부터 1,2,3을 더하면서 경우의 수를 모두 매칭하는 재귀 방법 DP let fs = require("fs"); let input = fs.readFileSync('/dev/stdin').toString().trim().split('\n') const caseLEN = Number(input[0]); const dp = { 0: 0, 1: 1, 2: 2, 3: 4, }; let max = Math.max..
더보기
[프로그래머스] level1. 최소직사각형 (javascript)
문제 코딩테스트 연습 - 최소직사각형 [[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133 programmers.co.kr 나의풀이 function solution(sizes) { let arr = [0,0] for(let i = 0 ; i b-a) if(b>arr[0]){ arr[0] =b } if(s>arr[1]){ arr[1] =s } } return arr[0]*arr[1] } 결과값이 결국 두 변(가로,세로)을 곱하는 것이므로 가로,세로에 얽매일 필요가 없었다. sort로 한쪽..
더보기
[프로그래머스] level3. 순위 (javascript)
문제 코딩테스트 연습 - 순위 5 [[4, 3], [4, 2], [3, 2], [1, 2], [2, 5]] 2 programmers.co.kr 나의 풀이 모르겠다. 참조 [프로그래머스/그래프, 플로이드] lv3. 순위 (JavaScript) 정확하게 순위를 매길 수 있는 선수의 의미는 다른 모든 노드와 그래프로 연결되어 있는 경우를 의미한다. 플로이드 와샬을 활용한 풀이가 가장 출제의도에 맞는 풀이인 것 같다. velog.io 위 블로그와 동일한 코드입니다. 위 블로그를 보면서 따라 만들어 보고, 왜 이런지 고민해보았다. function solution(n, results) { var answer = 0; //배열 선언 let arr = Array.from({length:n} , (_,i)=>Array...
더보기
[프로그래머스] level3. 가장 먼 노드 (javascript)
문제 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr 나의 풀이 (javascript) 프로그래머스 가장 먼 노드 프로그래머스 level3 그래프 - 가장 먼 노드 javascript를 이용한 문제풀이 입니다. velog.io 처음에 node의 방향성을 생각하다 못풀었다. 너무 어렵게 생각하지 말고, node 단위로 생각하면 쉽게 접근이 가능할 것 같다. function solution(n, edge) { let visited = new Array(n+1).fill(0) let level = new Array(n+1).fill(0) let queue = []; queue.push..
더보기