본문 바로가기
알고리즘/Java

[프로그래머스 ] Java - 점프와 순간 이동

by 조이은 2023. 4. 28.

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

 

프로그래머스

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

programmers.co.kr

Level 2. 점프와 순간 이동

 

 

접근 방식
현재 n이 짝수면 순간이동인 n = n/2로, 홀수면 점프 n = (n-1)/2로 계산한다.
홀수일 때 점프하는 것이므로 ans를 ++ 한다.

 

 

최종 코드
public class Solution {
    public int solution(int n) {
        int ans = 1;

        while(n!=1){
            
            if(n%2==0){ //순간이동
                n = n/2;
            }
            else{ //점프
                n = (n-1)/2;
                ans++;
            }
        }

        return ans;
    }
}

 

 

고찰

문제 설명이 너무 부족한 것 같다. 왜냐면 나를 너무 헷갈리게 만듦 하하

생각보다 접근법은 떠올리고 나면 아주 간단할 것 같다. 그게 어려운 거겠지만.. 노트에 작성하면서 차근차근 접근하면 될 것 같다. 

이상한 생각으로 접근하고 있다가 문제가 이해가 안 돼서 죽는 줄 알았다..