JavaScript
-
[프로그래머스] 만만할 줄 알았던 피보나치 수 JSProblem Solving 2021. 2. 9. 15:43
// 테스트케이스 7번 부터 실패한 코드 function solution(n) { if(n===0) return 0; else if(n===1) return 1; else{ return (solution(n-2)+solution(n-1))%1234567; } } 재귀함수 연습하는 문제구나! 라고 생각해서 재귀를 사용해서 문제를 풀었는데.. 7번부터 시간초과가 났고 13,14번은 런타임에러가 났다. 구글링을 좀 해보니 재귀로 풀면 안된다고만 얘기해주니 괜히 반발심이 생겨 재귀로 풀면 안되는 이유가 있는게 아니라면 납득하고 싶지 않았다. 재귀를 쓴다면 그 장점은 대표적으로 두가지다 1. 알고리즘을 재귀적으로 표현하는 것이 자연스러울 때 2. 변수 사용을 줄이기 위해 그렇다면 단점도 있을 것 같다. 1. 메모..
-
[JavaScript] 메뉴 리뉴얼 JSProblem Solving 2021. 2. 3. 15:53
function powerSet(array) { // 멱집합; powerSet function fork(i, t) { if (i === array.length) { result.push(t); return; } fork(i + 1, t.concat([array[i]])); fork(i + 1, t); } var result = []; fork(0, []); result.pop(); // [] 를 빼주기 위함 return result; } function solution(orders, course) { var answer = []; var menu = {}; var dict = {}; for(var w in orders){ // orders 문자열을 미리 오름차순 정렬 orders[w] = orders[w..