본문 바로가기
알고리즘/프로그래머스

프로그래머스: Summer/Winter Coding(~2018) - 점프와 순간이동

by 패쓰킴 2023. 7. 11.
728x90

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

 

프로그래머스

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

programmers.co.kr

 

풀이

N 까지 가기 위해선 항상 2의 위치를 거치게 된다

그러므로, N을 2로 나눴을 때 몫이 1이 될때까지 발생하는 나머지들을 모두 더한 수가 result가 된다.

N result
3 2
7 3
8 1
9 2
func solution(_ n:Int) -> Int {
    var result = 1
    var targetNumber = n
    
    while targetNumber != 1 {
        let mok = targetNumber / 2
        let remain = targetNumber % 2
        result += remain
        targetNumber = mok
    }
    
    return result
}
728x90

댓글