헝D의 일기장

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

나의풀이

import java.util.*;
class Solution {
    public int solution(int x, int y, int n) {
        int[] dp = new int[1000001];//연산 횟수를 저장하기 위한 배열 
        Arrays.fill(dp,-1);
        dp[x]=0;
        
        for(int i=x; i<=y; i++){
            if(dp[i] != -1){
                if(i+n <= y){
                    if(dp[i+n] == -1){
                        dp[i+n] = dp[i]+1;
                    }else{
                        dp[i+n] =  Math.min(dp[i+n], dp[i]+1);
                        
                    }
                }
                if(i*2 <= y){
                    if(i*2 <= y){
                        if(dp[i*2] == -1){
                            dp[i*2] = dp[i]+1;
                        }else{
                            dp[i*2] =  Math.min(dp[i*2], dp[i]+1);
                        }
                    }
                }
                if(i*3 <= y){
                    if(i*3 <= y){
                        if(dp[i*3] == -1){
                            dp[i*3] = dp[i]+1;
                        }else{
                            dp[i*3] =  Math.min(dp[i*3], dp[i]+1);
                        }
                    }
                }
                
            }
            
        }
        
        return dp[y];
        
    }
}
profile

헝D의 일기장

@헝D

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!