728x90
https://school.programmers.co.kr/learn/courses/30/lessons/12980
풀이
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
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스: 귤 고르기 (0) | 2023.07.16 |
---|---|
프로그래머스: 멀리뛰기 (0) | 2023.07.12 |
프로그래머스: 대충 만든 자판 (0) | 2023.07.08 |
프로그래머스: 바탕화면 정리 (0) | 2023.07.03 |
프로그래머스: 달리기 경주 (0) | 2023.07.02 |
댓글