본문 바로가기

프로그래머스 (Swift)/lv 1

[lv1] K번째 수

문제

 

내 정답 코드

import Foundation

func solution(_ array:[Int], _ commands:[[Int]]) -> [Int] {
    var result:[Int] = []
    
    // commands 반복문
    for command in commands {
        let (i, j, k) = (command[0], command[1], command[2])
        var newArr:[Int] = Array(array[i-1...j-1])
        newArr.sort()
        
        result.append(newArr[k-1])
    }
    
    return result
}

 

#

1. commands로 반복문을 돌리고, 각 command로부터 i, j, k를 추출한다.

2. i, j의 범위로 array를 슬라이스 한다.

3. sort()로 정렬 후의 k번째 수를 result에 추가한다.

4. result를 반환한다.


배운 기술