[TIL][프로그래머스/Swift] 배열자르기

Eden·2024년 11월 30일
1

TIL

목록 보기
55/92
post-thumbnail

문제 설명

정수 배열 numbers와 정수 num1, num2가 매개변수로 주어질 때, numbersnum1 번째 인덱스부터 num2 번째 인덱스까지 자른 정수 배열을 return 하도록 solution 함수를 작성하라.

제출한 코드

import Foundation

func solution(_ numbers:[Int], _ num1:Int, _ num2:Int) -> [Int] {
    var arr: [Int] = []
    for i in num1...num2 {
        let nums = numbers
        arr.append(nums[i])
    }
    return arr
}

리팩토링 후 코드

import Foundation

func solution(_ numbers:[Int], _ num1:Int, _ num2:Int) -> [Int] {
    return Array(numbers[num1...num2])
}

풀이 과정

  • 주어진 배열의 특정 범위를 자르기 위해 Array의 서브스크립트를 사용했다.
  • 원래 코드에서는 반복문을 사용해 num1부터 num2까지의 요소를 새로운 배열에 추가하는 방식을 사용했는데, 알고보니 Swift의 배열 슬라이싱 기능을 활용하여 더욱 간결하게 표현할 수 있었다.

배운 점

  • 배열의 특정 범위를 자르는 경우 반복문을 사용하기보다는 Swift의 배열 슬라이싱 기능을 활용하는 것이 훨씬 간결하고 효율적이다..
  • 하나배우면 다른 하나를 까먹는다..
profile
Frontend🌐 and iOS

2개의 댓글

comment-user-thumbnail
2024년 11월 30일

역시 나으ㅣ TIL 메이트 .. 악수 🤝 굿 아 근데 알고리즘 이제 어려운데 어케 푸는거에요 대단하내

1개의 답글