코딩테스트

[프로그래머스/javascript] 피로도 (꼭!!! 다시풀기 못풀었음)

_서리__ 2023. 3. 2. 14:17
function solution(k, dungeons) {
  let answer = [];
  let visited = Array(dungeons.length).fill(0);

  function dfs(count, k) {
    answer.push(count);

    for (let i = 0; i < dungeons.length; i++) {
      let current = dungeons[i];
      if (k >= current[0] && !visited[i]) {
        visited[i] = 1;
        dfs(count + 1, k - current[1]);
        visited[i] = 0;
      }
    }
  }

  dfs(0, k);

  return Math.max(...answer);
}

열심히 고민했는데 결국 DFS문제였다. DFS 너무 어려움..