DecordRay

[프로그래머스] Level2 : 점프와 순간 이동[Python] 본문

알고리즘/프로그래머스

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

DecordRay 2023. 1. 4. 23:21
728x90
반응형

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12980

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

풀이 : 

1. 처음에 문제를 봤을때 그리디문제라고 생각

2. 입출력 예시로 주어진 5000이 그냥 주어지지 않았다고 생각해서 이리저리 생각을 해봄

0 -> 5000으로 가는 것과 

5000 -> 0으로 가는 것

2가지 방법을 한번 생각해보았더니 뒤에서부터 구하면 더 쉽다고 판단

3. 주어진 n에서부터 0까지 가는 방법을 코드로 작성

2의 배수일 경우 n을 2로 나눠줌

2의 배수가 아닐 경우 n을 1빼준 후 건전지 사용량 1 증가

 

코드 :

def solution(n):
    ans = 0
    while True:
        if n == 0:
            break
        if n % 2 == 0:
            n = n//2
        else:
            n = n - 1
            ans += 1
            
    return ans
728x90
반응형
Comments