관리 메뉴

막내의 막무가내 프로그래밍 & 일상

[알고리즘] 프로그래머스 점프와 순간 이동 -Summer/Winter Coding(~2018)- 본문

알고리즘/일반(단순구현)

[알고리즘] 프로그래머스 점프와 순간 이동 -Summer/Winter Coding(~2018)-

막무가내막내 2020. 5. 4. 21:17
728x90

 

https://programmers.co.kr/learn/courses/30/lessons/12980

 

프로그래머스

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

programmers.co.kr

 

 

 

출발점부터 시작하는게 아닌 도착점 부터 즉 거꾸로 생각하면 쉽게 풀 수 있는 문제였습니다. (dp 문제는 아니였습니다.) 

역발상의 중요성(?)

그리고 다른 포인트는 만약 5000이 도작 지점인 경우 5000을 오바해서 도착하면 안된다는 점입니다. 예를들어 2600에서 로켓점프를 쓰면 5200이 되는데 이러면 안된다는거지요. 그래서 도착점 5000부터 시작하여 풀 수 있었습니다. 물론 오바가 가능하면 로켓점프쓰는게 무조건 이득이겠네요..;;허호

 

풀이는 다음과 같습니다. 

public class Solution {
    public static void main(String[] args) {
        Solution solution = new Solution();
        solution.solution(5000);
    }
    public int solution(int n) {
        int ans = 0;
        while (n != 0){ // 0이 될때까지 반복
            ans += n%2; //슈트쓴 경우 건전지 사용 X, 아닌 경우 점프해야하므로 건전지 + 1
            n /= 2; // 남은거리/2
        }
        return ans;
    }
}

 

 

 

 

댓글과 공감은 큰 힘이됩니다. 감사합니다!

728x90
Comments