728x90
반응형

프로그래머스 js 3

프로그래머스 - Level 2. 멀리 뛰기 / JavaScript (js)

문제설명 문제분석 이 문제는 다이나믹 프로그래밍(DP)을 사용하여 해결할 수 있습니다. 문제에서는 1칸 또는 2칸을 뛰어서 n칸을 뛸 수 있다고 하였으므로, n칸을 뛰기 위해서는 (n-1)칸에서 1칸을 뛰는 경우와 (n-2)칸에서 2칸을 뛰는 경우의 합과 같습니다. 이를 점화식으로 나타내면 다음과 같습니다. f(n) = f(n-1) + f(n-2) 이해하기 쉽게 코드작성하기 function solution(n) { let answer = 0; let num1 = 1, num2 = 2; if (n

프로그래머스 - Level 1. 콜라 문제 / JavaScript (js)

문제설명 문제분석 이 문제는 옛날 콜라 문제의 2, 1 자리에 a, b를 넣으면 해결되는 문제입니다. 현재 가지고 있는 빈 병 중 a개 묶음이 몇 개 나오는지 구합니다. 이 묶음의 수와 묶음에 포함되지 못한 낱병의 합으로 다시 한 번 a개 묶음이 몇 개 나오는지 구합니다. 동일한 과정을 빈 병의 총 갯수가 한 묶음에 묶여야하는 a개 미만인 경우까지 반복합니다. 문제를 단순화 했으니 이해하기 쉽게 코드를 짜보겠습니다. 이해하기 쉽게 코드작성하기 function solution(a, b, n) { return recursion(a, b, n); } function recursion(a, b, emptyBottles) { // 빈 병의 갯수가 한 묶음의 기준인 a개보다 적은 경우 0을 리턴 if(emptyBo..

프로그래머스 - Level 1. 행렬의 덧셈 / JavaScript (js)

문제설명 문제분석 두 행렬의 같은 요소를 더해주면 되는 문제입니다. 매우 간단하므로 예시를 작성하되 자세한 설명은 생략합니다. /* arr1: arr2: return: * [ [ [ * [1, 2], [3, 4], [4, 6], * [2, 3], [5, 6], [7, 9], * ] ] ] */ 이해하기 쉽게 코드작성하기 function solution(arr1, arr2) { var answer = []; for(let r = 0; r < arr1.length; r++) { const row = []; for(let c = 0; c < arr1[r].length; c++) { row.push(arr1[r][c] + arr2[r][c]); } answer.push(row); } return answer; ..

728x90
반응형