본문 바로가기

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

[Day19-3] 빈 배열에 추가, 삭제하기

문제

 

내 정답 코드

import Foundation

func solution(_ arr:[Int], _ flag:[Bool]) -> [Int] {
    var arr = arr
    var X: [Int] = []
    
    for i in 0..<arr.count {
        if flag[i] {
            (0..<arr[i]*2).map {_ in X.append(arr[i]) }
        } else {
            (0..<arr[i]).map {_ in X.removeLast() }
        }
    }
    return X
}

 

#

1. arr배열로 반복문을 돌리고

2. 해당 인덱스의 flag를 가져와 조건문을 완성한다.

3. true일 때는 해당 값의 2배만큼 추가해주고

4. false일 때는 마지막 요소를 삭제한다.


배운 기술