본문 바로가기

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

[Day12-5] 배열 조각하기

문제

 

내 정답 코드

func solution(_ arr:[Int], _ query:[Int]) -> [Int] {
    var arr = arr
    
    for i in 0..<query.count {
        if i.isMultiple(of: 2) {
            (query[i]+1..<arr.count).map { _ in arr.removeLast() }
        } else {
            (0..<query[i]).map { _ in arr.removeFirst() }
        }
    }
    return arr
}

 

#

1. 입출력 예가 하나밖에 없어서 푸는 것보다 이해하는 것이 더 어려웠던 문제

2. query의 인덱스가 짝수 홀수인지 먼저 판단하고

3. query[i]값을 arr의 인덱스로 가져와 앞 또는 뒤 값들을 모두 삭제한다.


배운 기술

 

1. removeLast()

https://developer.apple.com/documentation/swift/array/removelast()

 

removeLast() | Apple Developer Documentation

Removes and returns the last element of the collection.

developer.apple.com

 

2. removeFirst()

https://developer.apple.com/documentation/swift/array/removefirst()

 

removeFirst() | Apple Developer Documentation

Removes and returns the first element of the collection.

developer.apple.com

'프로그래머스 (Swift) > 기초' 카테고리의 다른 글

[Day13-2] 순서 바꾸기  (0) 2024.03.28
[Day13-1] n 번째 원소부터  (0) 2024.03.28
[Day12-4] 2의 영역  (0) 2024.03.24
[Day12-3] 배열 만들기 3  (0) 2024.03.24
[Day12-2] 첫 번째로 나오는 음수  (0) 2024.03.24