[프로그래머스#JS] 점프와 순간이동

dongwon·2021년 1월 10일
0

1. 문제

점프와 순간이동

2. 코드

  function solution(n) {
    let ans = 9999;
    let count = 1;

    go_dfs(n, count);

    function go_dfs(n, count) {
      if (n === 1) {
        if(count < ans) ans = count;
        return;
      }
    
      if (n % 2 === 0) {
        go_dfs(n / 2, count);
      } else {
        count++;
        go_dfs(n - 1, count);
      }
    }
    return ans;
  }

  const n = 5000;
  solution(n);

3. 구현

  • n X 2 까지는 배터리 소모 없이 이동 가능
  • 뒤로는 안 가서 홀수가 나올 때 1을 빼서 짝수로 만든다. 이 경우 count++
  • 0 -> 1로 갈 때 배터리 소모 하므로 초기값 1로 설정

4. 실수한 것

  • 뒤로도 가는 줄 알고 DFS로 접근했다. 문제 잘보기..
profile
데이원컴퍼니 프론트엔드 개발자입니다.

0개의 댓글