https://school.programmers.co.kr/learn/courses/30/lessons/12980?language=python3
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
Algorithm
Idea
순간이동(2배 이동)은 건전지 사용량이 증가하지 않는다.
점프(1칸 이동)은 건전지 사용량이 1씩 증가한다.
- 주어진 거리 n이 짝수일 때는 순간이동이 가능하고, 홀수일 때는 점프만 가능.
- 홀수인 경우에는 한 칸만 이동하는 점프로 건전지 사용량을 증가
- 짝수일때는 순간이동을 통해 건전지를 사용하지 않도록 함
Python
def solution(n):
ans = 0
while n > 0:
if n % 2 == 0:
n = n // 2
else:
n -= 1
ans += 1
return ans
Java
import java.util.*;
public class Solution {
public int solution(int n) {
int ans = 0;
while(n != 0){
if(n % 2 == 1){
n -= 1;
ans += 1;
}
n /= 2;
}
return ans;
}
}'자료구조&알고리즘 > 프로그래머스' 카테고리의 다른 글
| [Programmers] 소인수분해 (PYTHON, JAVA) (0) | 2024.03.07 |
|---|---|
| [Programmers] 조건에 맞게 수열 변환하기 2 (JAVA, PYTHON) (0) | 2023.11.29 |
| [Programmers] 영어 끝말잇기 (JAVA, PYTHON) (1) | 2023.11.03 |
| [Programmers] 소수 만들기 (JAVA, PYTHON) (0) | 2023.11.03 |
| [Programmers] 예산 (JAVA, PYTHON) (0) | 2023.11.03 |