본문 바로가기

프로그래머스 (Swift)/기초

[Day15-2] 조건에 맞게 수열 변환하기 2

문제

 

내 정답 코드

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를 반환해준다.


배운 기술