기초라고 생각되는 것/문제풀이
[Swift] 프로그래머스 - 수열과 구간 쿼리 3 / LV.0, 181924
아렉스_Arex
2023. 11. 1. 01:30
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/181924
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제를 보고 고전적인 swap 떠올려서 작성해서 통과하였습니다.
func solution(_ arr:[Int], _ queries:[[Int]]) -> [Int] {
var swapTemp: Int = 0
var array = arr
queries.forEach {
swapTemp = array[$0[0]]
array[$0[0]] = array[$0[1]]
array[$0[1]] = swapTemp
}
return array
}
하지만 Swift에서는 swap 에 대한 메소드를 지원해줍니다.
func solution(_ arr:[Int], _ queries:[[Int]]) -> [Int] {
var array = arr
queries.forEach { array.swapAt($0[0], $0[1]) }
return array
}
swapAt(_:_:)
시간 복잡도는 O(1) 입니다.