-
[programmers/Swift] 점프와 순간 이동Archive/Questions 2022. 6. 2. 14:31728x90
programmers.co.kr - 코딩테스트연습 - Lv.2 - Summer/Winter Coding (~2018) - 점프와 순간 이동
Constraints :
- 숫자 N: 1 이상 10억 이하의 자연수
- 숫자 K: 1 이상의 자연수
// // Created by Yongwoo Marco on 2022/06/02. // Copyright © 2022 Yongwoo Marco Kim. All rights reserved. // func solution(_ n:Int) -> Int { var distance = n, cost = 0 while distance > 0 { if distance % 2 == 1 { cost += 1 } distance /= 2 } return cost } print(solution(5)) // 2 print(solution(6)) // 2 print(solution(5000)) // 5
How I tried this :
무조건 처음엔 1만큼 이동하고 이후에 이전까지 온거리의 2배 위치로 이동한다.1 -> (1 * 2) = 2 -> (2 * 2) = 4 -> 5
1 -> (1 * 2) = 2 -> 3 -> (3 * 2) = 6
위 상황을 거꾸로 보면 거리를 매번 나누고 홀수 인 경우 1칸을 이동한다
따라서 남은 거리에서 순간 이동을 했다고 가정하고 0이 될때까지 나눈다.
단, 홀수 인 경우는 점프로 1이동
문제에 관한 모든 저작권 : https://programmers.co.kr/
728x90'Archive > Questions' 카테고리의 다른 글
[programmers/Swift] 베스트앨범 (0) 2022.08.05 [programmers/Swift] 신고 결과 받기 (2022 Kakao Blind Recruitment) (0) 2022.08.04 [programmers/Swift] 스킬트리 (0) 2022.06.01 [programmers/Swift] 영어 끝말잇기 (0) 2022.05.31 [programmers/Swift] 방문 길이 (0) 2022.05.30