문제
내 정답 코드
import Foundation
func solution(_ arr:[Int]) -> Int {
var count = 0
var arr1:[Int] = arr
var arr2:[Int] = []
while(true) {
arr2 = arr1
for i in 0..<arr1.count {
if arr1[i] >= 50 && arr1[i].isMultiple(of: 2) {
arr1[i] /= 2
} else if arr1[i] < 50 && !arr1[i].isMultiple(of: 2) {
arr1[i] = arr1[i] * 2 + 1
}
}
if arr1 == arr2 {
return count
}
count += 1
}
return 0
}
#
1. 뭔가 어렵지는 않은데 헷갈렸던 문제
2. 조건에 맞게 arr값들을 계속 바꿔주면서
3. 이전 arr와 비교하여 같다면 count를 반환해준다.
배운 기술
'프로그래머스 (Swift) > 기초' 카테고리의 다른 글
[Day15-4] 길이에 따른 연산 (0) | 2024.04.12 |
---|---|
[Day15-3] 1로 만들기 (0) | 2024.04.12 |
[Day15-1] 조건에 맞게 수열 변환하기 1 (0) | 2024.04.12 |
[Day14-5] 수열과 구간 쿼리 1 (0) | 2024.04.05 |
[Day14-4] n보다 커질 때까지 더하기 (0) | 2024.04.05 |