배열 슬라이싱 파트 1
Coddy Swift 여정의 기초 섹션에 포함된 레슨 — 86개 중 73번째.
때로는 전체 배열이 아니라 그 일부만 필요할 때가 있습니다. Swift는 범위 연산자를 사용한 배열 슬라이싱(array slicing)을 통해 요소의 하위 집합을 쉽게 추출할 수 있게 해줍니다.
슬라이스를 얻으려면 서브스크립트 대괄호 안에 범위를 사용합니다. 가장 일반적인 방법은 시작 인덱스는 포함하고 끝 인덱스는 제외하는 반개방 범위 연산자(..<)를 사용하는 것입니다:
let numbers = [10, 20, 30, 40, 50]
let slice = numbers[1..<4]
print(slice) // [20, 30, 40]여기서, 1..<4는 인덱스 1, 2, 3에 있는 요소를 제공하지만 인덱스 4는 포함하지 않습니다. 이것은 멈추고 싶은 위치를 정확히 알고 있을 때 유용합니다.
종료 인덱스를 포함하려면 닫힌 범위 연산자(...)를 사용하세요:
let letters = ["a", "b", "c", "d", "e"]
let slice = letters[1...3]
print(slice) // ["b", "c", "d"]한 가지 중요한 세부 사항: 슬라이싱의 결과는 일반적인 Array가 아니라 ArraySlice입니다. 실제 배열이 필요한 경우 Array()로 감싸세요:
let original = [1, 2, 3, 4, 5]
let sliced = Array(original[0..<3])
print(sliced) // [1, 2, 3]챌린지
쉬움numbers, start, end를 매개변수로 받아 시작 인덱스부터 종료 인덱스 전까지(종료 인덱스 미포함)의 배열 슬라이스를 반환하는 getMiddleElements 함수를 작성하세요.
반열림 범위 연산자(..<)를 사용하여 배열의 특정 부분을 추출하고 이를 일반 배열로 반환하세요.
매개변수:
numbers([Int]): 슬라이스할 배열start(Int): 시작 인덱스 (포함)end(Int): 종료 인덱스 (미포함)
반환값: 시작 인덱스부터 종료 인덱스 전까지(종료 인덱스 미포함)의 요소를 포함하는 배열 ([Int])
예시: numbers가 [10, 20, 30, 40, 50, 60]이고, start가 1, end가 4라면, 함수는 [20, 30, 40]을 반환해야 합니다.
치트 시트
Swift는 범위 연산자를 사용한 배열 슬라이싱(array slicing)을 통해 배열의 일부를 추출할 수 있게 해줍니다.
시작 인덱스부터 종료 인덱스 직전까지(종료 인덱스 미포함) 슬라이싱하려면 반열림 범위 연산자(..<)를 사용하세요:
let numbers = [10, 20, 30, 40, 50]
let slice = numbers[1..<4]
print(slice) // [20, 30, 40]종료 인덱스를 포함하려면 닫힌 범위 연산자(...)를 사용하세요:
let letters = ["a", "b", "c", "d", "e"]
let slice = letters[1...3]
print(slice) // ["b", "c", "d"]배열 슬라이싱은 ArraySlice를 반환합니다. 이를 일반적인 Array로 변환하려면 Array()로 감싸세요:
let original = [1, 2, 3, 4, 5]
let sliced = Array(original[0..<3])
print(sliced) // [1, 2, 3]직접 해보기
func getMiddleElements(numbers: [Int], start: Int, end: Int) -> [Int] {
// 여기에 코드를 작성하세요
}
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.