배열 슬라이싱 1부
Coddy Swift 여정의 기초 섹션에 포함된 레슨. 86개 중 73번째.
때로는 전체 배열이 필요하지 않고 그 일부만 필요할 때가 있습니다. Swift에서는 범위 연산자를 사용한 배열 슬라이싱으로 요소의 부분 집합을 쉽게 추출할 수 있습니다.
슬라이스를 가져오려면 아래 첨자 대괄호 안에 범위를 사용합니다. 가장 일반적인 방법은 반열린 범위 연산자(..<)를 사용하는 것으로, 시작 인덱스는 포함하지만 끝 인덱스는 제외합니다:
let numbers = [10, 20, 30, 40, 50]
let slice = numbers[1..<4]
print(slice) // [20, 30, 40]여기서 1..<4는 인덱스 1, 2, 3의 요소를 제공하지만 인덱스 4는 제공하지 않습니다. 어디에서 정확히 멈추고 싶은지 알고 있을 때 유용합니다.
...를 사용하는 닫힌 범위 연산자를 이용하면 end 인덱스를 포함할 수 있습니다:
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를 인수로 받아 start 인덱스부터 end 인덱스까지(단, end 인덱스는 포함하지 않음) 배열의 slice를 반환하는 함수 getMiddleElements를 작성하세요.
반열린 범위 연산자(..<)를 사용하여 배열에서 지정된 부분을 추출하고 일반 배열로 반환하세요.
매개변수:
numbers([Int]): slice할 배열start(Int): 시작 인덱스(포함)end(Int): 끝 인덱스(제외)
반환값: start 인덱스부터 end 인덱스까지(단, end 인덱스는 포함하지 않음)의 요소를 포함하는 배열([Int])
예시: numbers가 [10, 20, 30, 40, 50, 60]이고, start가 1이며, end가 4라면 함수는 [20, 30, 40]을 반환해야 합니다.
직접 해보기
func getMiddleElements(numbers: [Int], start: Int, end: Int) -> [Int] {
// 여기에 코드를 작성하세요
}
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: Swift 플레이그라운드