본문 바로가기

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

[Day6-4] 수열과 구간 쿼리 3

문제

 

내 정답 코드

import Foundation

func solution(_ arr:[Int], _ queries:[[Int]]) -> [Int] {
    
    var arr = arr
    
    for i in 0..<queries.count {
        let temp = arr[queries[i][0]]
        arr[queries[i][0]] = arr[queries[i][1]]
        arr[queries[i][1]] = temp
    }
    
    return arr
}

 

#

1. 반복문을 돌면서 필요한 값을 temp에 저장한다.

2. temp를 활용하여 원하는 위치에 값을 바꿔치기 한다.

 

@ swapAt라는 기술을 배워서 더 간단한 코드로 짜보았다.

import Foundation

func solution(_ arr:[Int], _ queries:[[Int]]) -> [Int] {
    
    var result = arr
    
    for i in 0..<queries.count {
        result.swapAt(queries[i][0], queries[i][1])
    }
    
    return result
}

배운 기술

 

1. swapAt

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

 

swapAt(_:_:) | Apple Developer Documentation

Exchanges the values at the specified indices of the collection.

developer.apple.com

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

[Day7-1] 수열과 구간 쿼리4  (0) 2024.02.15
[Day6-5] 수열과 구간 쿼리2  (1) 2024.02.10
[Day6-3] 수 조작하기2  (0) 2024.02.09
[Day6-2] 수 조작하기1  (0) 2024.02.09
[Day6-1] 마지막 두 원소  (0) 2024.02.09