Skip to content

[Algorithm] 점프와 순간이동 #41

Description

@hwangJi-dev

💬 문제

[코딩테스트 연습 - 점프와 순간 이동](https://school.programmers.co.kr/learn/courses/30/lessons/12980)


💬 Idea

  • K 칸을 앞으로 점프할 때만 건전지 사용량이 K만큼 든다.
  • (현재까지 온 거리) x 2로 순간이동 할 수 있는 부분을 최대한 활용하여야 최소의 건전지 사용량을 도출할 수 있다.
    • 따라서 n의 값이 0이 될 때까지 반복문을 돌리면서
    • n이 2로 나누어질 수 있다면 순간이동을 시키고,
    • n이 2로 나누어질 수 없다면 (홀수라면) n의 값에서 1을 뺀 후 건전지 사용량에 1을 더해주며 최소의 건전지 사용량을 도출한다.

💬 풀이

func solution(_ n:Int)->Int{varn= n
varans:Int=0while n !=0{if n %2==0{
n = n /2}else{
n = n -1
ans +=1}}return ans
}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions