Menu
Coddy logo textTech

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

챌린지

쉬움

numbers, start, end를 매개변수로 받아 시작 인덱스부터 종료 인덱스 전까지(종료 인덱스 미포함)의 배열 슬라이스를 반환하는 getMiddleElements 함수를 작성하세요.

반열림 범위 연산자(..<)를 사용하여 배열의 특정 부분을 추출하고 이를 일반 배열로 반환하세요.

매개변수:

  • numbers ([Int]): 슬라이스할 배열
  • start (Int): 시작 인덱스 (포함)
  • end (Int): 종료 인덱스 (미포함)

반환값: 시작 인덱스부터 종료 인덱스 전까지(종료 인덱스 미포함)의 요소를 포함하는 배열 ([Int])

예시: numbers[10, 20, 30, 40, 50, 60]이고, start1, end4라면, 함수는 [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] {
    // 여기에 코드를 작성하세요
}
quiz icon실력 점검

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

기초의 모든 레슨