https://programmers.co.kr/learn/courses/30/lessons/12980
코딩테스트 연습 - 점프와 순간 이동
OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈
programmers.co.kr
이번 문제는 Top-Bottom 문제였습니다.
《문제 풀이》
1. 처음 한 칸은 무조건 점프해야 하므로 ans 1 부터 시작
2. n을 2로 나누었을 때 나머지가 1이면 점프해야 한다는 의미이므로 ans++
《C++ 코드》
#include <iostream>
using namespace std;
int solution(int n)
{
int ans = 1; // 한 칸은 무조건 점프
while (n != 1) {
if (n % 2 == 1) { // 순간이동을 할 수 없다면
ans++;
}
n /= 2;
}
return ans;
}

반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스] 입국심사 C++ (Lv.3) (0) | 2022.02.24 |
|---|---|
| [프로그래머스] 거리두기 확인하기 (0) | 2022.02.22 |
| [프로그래머스] 영어 끝말잇기 (0) | 2022.02.18 |
| [프로그래머스] 프린터 (0) | 2022.02.17 |
| [프로그래머스] 괄호 변환 (0) | 2022.02.16 |