본문 바로가기
알고리즘/프로그래머스

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

by 뎁꼼 2020. 7. 3.

1. 문제


 

 

코딩테스트 연습 - 점프와 순간 이동

OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈�

programmers.co.kr

 

 

2. 소스코드


- 처음보는 순간 BFS인줄 알았다. 하지만 n이 10억. visited 배열을 만들어서 체크할 수 가 없었다.

- 따라서, 완탐이 아닌 규칙이 있는 문제로 판단. 규칙을 찾았다.

 

소스코드

#include <iostream>
using namespace std;
 
int solution(int n)
{
    int ans = 0;
    while(n){
        while(n % 2 == 0)
            n /= 2;
        n--, ans++;
    }
    
    return ans;
}