https://school.programmers.co.kr/learn/courses/30/lessons/12980
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;
}
'C++ Algorithm & Study > C++ & Algorithm Strategies' 카테고리의 다른 글
[Programmers] 이상한 문자 만들기 (0) | 2023.01.16 |
---|---|
[Programmers] 예상 대진표 (0) | 2023.01.10 |
[Programmers] 삼총사 (0) | 2023.01.07 |
[Programmers] 행렬의 덧셈 (0) | 2023.01.07 |
[Programmers] 프린터 (0) | 2023.01.05 |