C++ Algorithm & Study/C++ & Algorithm Strategies
[Programmers] 점프와 순간 이동
GameChoi
2023. 1. 9. 21:23
https://school.programmers.co.kr/learn/courses/30/lessons/12980
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
0. Headers
-
1. 알고리즘
- 한번에 K칸을 앞으로 점프하거나 현재까지온 거리를 2배만큼 순간이동을 할 수 있는 슈트
- 건전지 사용량을 줄이기 위해서라면 전체 값에서 반씩 줄이면서 값이 만약 홀수이면 건전지를 사용
- 홀수에서 건전지를 사용하는 이유
- 처음에서 부터 시작하면 규칙을 찾기 힘듦
- 반대로 생각을 해본다면 5000 2500 1250 625 312 156 78 39 19 9 4 2 1 0
- 홀수인 경우만 1씩 더한다고 한다면 배터리를 최소한으로 사용할 수있다
int solution(int n)
{
int ans = 0;
while (n > 0) { if ((n % 2) == 1) ans++; n = n/2; }
return ans;
}
2. 완성 코드
int solution(int n)
{
int ans = 0;
while (n > 0) { if ((n % 2) == 1) ans++; n = n/2; }
return ans;
}
