Menu
Coddy logo textTech

배열 슬라이싱 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]
challenge icon

챌린지

쉬움
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]이고, start1이며, end4라면 함수는 [20, 30, 40]을 반환해야 합니다.

직접 해보기

func getMiddleElements(numbers: [Int], start: Int, end: Int) -> [Int] {
    // 여기에 코드를 작성하세요
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: Swift 플레이그라운드