배열 슬라이싱 파트 2
Coddy Swift 여정의 기초 섹션에 포함된 레슨 — 86개 중 74번째.
Swift는 배열의 시작부터 또는 끝까지 슬라이싱하기 위한 편리한 단축 구문을 제공합니다. 0이나 마지막 인덱스를 명시적으로 지정하는 대신, 범위의 한쪽을 비워둘 수 있습니다.
배열의 시작부터 특정 인덱스까지 슬라이스하려면 시작 값을 생략하십시오:
let numbers = [10, 20, 30, 40, 50]
let firstThree = numbers[..<3]
print(firstThree) // [10, 20, 30]마찬가지로, 특정 인덱스부터 끝까지 슬라이싱하려면 종료 값을 생략합니다:
let numbers = [10, 20, 30, 40, 50]
let fromIndex2 = numbers[2...]
print(fromIndex2) // [30, 40, 50]특정 시작 지점을 포함하기 위해 닫힌 범위 버전을 사용할 수도 있습니다:
let letters = ["a", "b", "c", "d", "e"]
let upToIndex3 = letters[...3]
print(upToIndex3) // ["a", "b", "c", "d"]이러한 단방향 범위는 처음 몇 개의 요소나 특정 지점 이후의 모든 요소가 필요할 때 코드를 더 깔끔하게 만들어 줍니다. ArraySlice 대신 일반 배열이 필요한 경우 결과를 Array()로 감싸야 한다는 점을 기억하세요.
챌린지
쉬움numbers와 index를 매개변수로 받아 지정된 인덱스부터 배열의 끝까지 모든 요소를 반환하는 splitArray 함수를 작성하세요.
단방향 범위 연산자(...)를 사용하여 지정된 인덱스부터 끝까지 슬라이스하고, 그 결과를 일반 배열로 반환하세요.
매개변수:
numbers([Int]): 슬라이스할 배열index(Int): 시작 인덱스 (포함)
반환값: 지정된 인덱스부터 배열의 끝까지 모든 요소를 포함하는 배열 ([Int])
예시: numbers가 [5, 10, 15, 20, 25, 30]이고 index가 3이면, 함수는 [20, 25, 30]을 반환해야 합니다.
치트 시트
Swift는 범위의 한쪽 끝을 비워둠으로써 배열의 시작부터 또는 끝까지 슬라이싱할 수 있는 단축 구문을 제공합니다.
시작부터 특정 인덱스까지 슬라이싱하려면 시작 값을 생략하세요:
let numbers = [10, 20, 30, 40, 50]
let firstThree = numbers[..<3] // [10, 20, 30]특정 인덱스부터 끝까지 슬라이싱하려면 종료 값을 생략하세요:
let numbers = [10, 20, 30, 40, 50]
let fromIndex2 = numbers[2...] // [30, 40, 50]특정 종료 인덱스를 포함하려면 닫힌 범위(closed range) 버전을 사용하세요:
let letters = ["a", "b", "c", "d", "e"]
let upToIndex3 = letters[...3] // ["a", "b", "c", "d"]단방향 범위(One-sided ranges)는 ArraySlice를 반환합니다. 이를 일반 배열로 변환하려면 결과를 Array()로 감싸세요:
let regularArray = Array(numbers[2...])직접 해보기
func splitArray(numbers: [Int], index: Int) -> [Int] {
// 여기에 코드를 작성하세요
}
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.