문제
내 정답 코드
import Foundation
func solution(_ num_list:[Int]) -> Int {
var num_list = num_list
var count:Int = 0
for i in 0..<num_list.count {
while(true) {
if num_list[i].isMultiple(of: 2) {
num_list[i] /= 2
count += 1
} else if !num_list[i].isMultiple(of: 2) {
if num_list[i] == 1 { break }
num_list[i] = (num_list[i]-1) / 2
count += 1
}
}
}
return count
}
#
1. 배열의 값들마다 특별한 연산을 반복하여 1을 만드는데
2. 이 연산이 총 몇 번 이루어졌는지 구하는 문제이다.
3. 연산을 반복하여 1이 되면 반복문을 탈출하고 다음 값으로 연산을 시작한다.
4. 연산이 진행될 때마다 count를 올리고 최종 count를 반환한다.
배운 기술
'프로그래머스 (Swift) > 기초' 카테고리의 다른 글
[Day15-5] 원하는 문자열 찾기 (0) | 2024.04.12 |
---|---|
[Day15-4] 길이에 따른 연산 (0) | 2024.04.12 |
[Day15-2] 조건에 맞게 수열 변환하기 2 (0) | 2024.04.12 |
[Day15-1] 조건에 맞게 수열 변환하기 1 (0) | 2024.04.12 |
[Day14-5] 수열과 구간 쿼리 1 (0) | 2024.04.05 |