[프로그래머스] 점프와 순간 이동 Swift

나의 코드

  • n을 이진수로 구해서 1의 갯수를 카운트 해주면 되는 문제.
  • 순간이동을 최대로 했을 때 최솟값을 가진다.
  • 이진수로 바꿨을 때 1인 위치에서 한 칸 더 가 순간이동해주면 된다.

몇시간 고민하다 결국 검색해봤는데 이런 문제였다니.. 🤭 코드는 간단하지만 풀이를 생각해내는 과정이 어려웠던 문제였다.

import Foundation

func solution(_ n:Int) -> Int 
{
    var N = n
    var ans:Int = 0
    
    while N > 0{
        ans += N % 2;
        N /= 2;
    }
    
    return ans
}

좋은 웹페이지 즐겨찾기