피로도

Happhee·2022년 3월 14일
0

[ Lv2 ] programmers

목록 보기
30/32
post-thumbnail

📝 피로도

나의 코드

function solution(k, dungeons) {
  const answer = [];
  //가능한 던전 탐색 순서 탐색
  function exploreDungeon(currentK, dungeons, count) {
    dungeons.forEach((dungeon, index, origin) => {
      //맨처음의 던전 예외처리
      if (currentK < dungeon[0]) {
        answer.push(count);
        return;
      }
      //맨앞 던전 탐색 후 다음 던전들 정리
      const next = [...origin];
      next.splice(index, 1);
      exploreDungeon(currentK - dungeon[1], next, count + 1);
    });
    // 던전이 남은곳이 없다면 위의 반복문 수행불가하므로 예외처리
    answer.push(count);
    return;
  }
  exploreDungeon(k, dungeons, 0);
  return Math.max(...answer);
}

깊이 탐색을 활용하여 문제를 해결하였다.

profile
즐기면서 정확하게 나아가는 웹프론트엔드 개발자 https://happhee-dev.tistory.com/ 로 이전하였습니다

0개의 댓글