Loading...
본문 바로가기
👥
총 방문자
📖
0개 이상
총 포스팅
🧑
오늘 방문자 수
📅
0일째
블로그 운영

여러분의 방문을 환영해요! 🎉

다양한 개발 지식을 쉽고 재미있게 알려드리는 블로그가 될게요. 함께 성장해요! 😊

PS/프로그래머스

[프로그래머스][dp] 숫자 변환하기

by 꽁이꽁설꽁돌 2025. 9. 11.
728x90
반응형
     

목차

     

     

     

     

    문제

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

     

    프로그래머스

    SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

    programmers.co.kr

     

     

    문제 구현 방향

    bfs로 풀어도 시간 초과가 나는 문제이다. 따라서 dp로 풀어야 한다.

     

     

     

    코드 구현

    let dp = Array(1000001).fill(Infinity);
    
    
    function solution(x, y, n) {
        dp[x] = 0;
       for(let i=x; i<=y; i++){
           if(i+n <= y){
               dp[i+n] = Math.min(dp[i]+1, dp[i+n]);
           }
           if(i*2 <= y){
               dp[i*2] = Math.min(dp[i*2], dp[i]+1);
           }
           if(i*3 <=y){
                dp[i*3] = Math.min(dp[i*3], dp[i]+1);
           }
       }
        let ans = Math.min(dp[y]);
        return isFinite(ans) ? ans : -1;
    }
    반응형