[프로그래머스] LV2. 점프와 순간이동 - 파이썬

곌로그·2023년 4월 25일
0

[python]코딩테스트

목록 보기
6/34
post-thumbnail

문제 링크


문제 요약

역으로 생각 하면 쉽게 풀릴 수 있는 문제이다. 처음에는 가장 유리한 것만 생각해야하는 그리디인가 싶었는데 아니었다.

  • 점프는 k칸 앞으로 점프하되 k 만큼의 건전지 사용
  • 순간이동은 (현재까지 온 거리)*2 의 값에 해당하는 위치로 이동

위의 조건들을 바탕으로 건전지 사용량을 최소화하면 되는 문제


문제 풀이

def solution(n):

    ans = 0 # 건전지 소모량
    
    while n > 0:
        if (n % 2 == 0):
            #print(n)
            n = n//2
        else:
            ans += 1
            n = n-1
            

    return ans

📌 고려해야할 점

// 연산자와 %연산자를 적절히 사용
역으로 계산하기 때문에 나누기로 계산 진행

  • n이 짝수라면 건전지 사용하지 않고 순간이동 가능
  • n이 홀수라면 건전지를 사용해 현재 위치 이동

🙄느낀,,점?

걍 갑자기 쓰고싶어서 ㅎㅎ 주말에 있을 코테 대비로 기출들 풀고 있는데 알고리즘 유형보다는 센스 발휘가 중요한 느낌,,,인 것 같기도하고 ^^ 물론 나레기는 코테를 아직 길게 준비를 안해서 내 판단력은 신뢰도가 없으니 참고하지 말길.
뇌야 빨리 말랑말랑해지렴 ㅎㅎ,,,,,,,

0개의 댓글