개발 일기

알고리즘 연습 본문

알고리즘

알고리즘 연습

이건욱

https://school.programmers.co.kr/learn/courses/30/lessons/154538

function solution(x, y, n) {
    if (x === y) return 0;
    const dp = {};
    dp[x] = 0;
    let data = [x];
    while (data.length) {
      const newData = [];

      for (let i = 0; i < data.length; i += 1) {
        const condition = [data[i] + n, data[i] * 2, data[i] * 3]
        for (let j = 0; j < condition.length; j += 1) {
            if(condition[j] > y || dp[condition[j]]) continue;
            if(condition[j] === y) return dp[data[i]] + 1
            
            dp[condition[j]] = dp[data[i]] + 1
            newData.push(condition[j])
        }
      }
      data = newData
    }

    return -1;
  }

 

'알고리즘' 카테고리의 다른 글

알고리즘 연습  (0) 2023.02.20
알고리즘 연습  (0) 2023.02.20
알고리즘 연습  (0) 2023.02.20
Comments