Level2 - 피로도

손대중·2022년 6월 30일
0

문제 설명 및 링크

https://programmers.co.kr/learn/courses/30/lessons/87946?language=javascript

나의 풀이

최소 피로도, 소모 피로도가 서로 다르기 때문에 특별한 공식은 없고 모든 경우에 수를 다 계산해 봐야 할 것 같다.

뭐 던전의 개수가 8개 이하기도 하고...

코드

모든 프로그래머스 문제 관련 코드들은 GitHub 링크 에 있음.

const getMaxDungeons = (k, dungeons, currentNum) => {
    let result = currentNum;
    
    dungeons = dungeons.filter(d => d[0] <= k);
    
    dungeons.map((d, index) => {
        const newTargets = dungeons.filter((fd, fi) => fi !== index);
        const tempResult = getMaxDungeons(k - d[1], newTargets, currentNum + 1);

        if (tempResult > result) {
            result = tempResult;
        }
    });
    
    return result;
}

function solution(k, dungeons) {
    return getMaxDungeons(k, [...dungeons], 0);
}

0개의 댓글