Menu
Coddy logo textTech

배열 수정하기

Coddy Swift 여정의 기초 섹션에 포함된 레슨 — 86개 중 64번째.

배열은 그 내용을 변경할 수 있을 때 진정으로 유용해집니다. 배열을 수정하려면, let 대신 var를 사용하여 선언해야 합니다.

특정 인덱스에 새로운 값을 할당하여 기존 요소를 변경할 수 있습니다:

var colors = ["Red", "Green", "Blue"]
colors[1] = "Yellow"
print(colors)  // ["Red", "Yellow", "Blue"]

새로운 요소를 추가하려면 단일 항목에는 append 메서드를 사용하고, 여러 항목을 한 번에 추가하려면 += 연산자를 사용하세요:

var numbers = [1, 2, 3]
numbers.append(4)
print(numbers)  // [1, 2, 3, 4]

numbers += [5, 6]
print(numbers)  // [1, 2, 3, 4, 5, 6]

특정 위치에 요소를 삽입하려면 insert 메서드를 사용하세요:

var fruits = ["Apple", "Orange"]
fruits.insert("Banana", at: 1)
print(fruits)  // ["Apple", "Banana", "Orange"]

요소를 제거하려면, 삭제하려는 인덱스와 함께 remove(at:)를 사용하세요:

var items = ["A", "B", "C", "D"]
items.remove(at: 2)
print(items)  // ["A", "B", "D"]

요소를 제거하면, 빈 자리를 채우기 위해 그 뒤의 모든 요소들이 이동한다는 점을 기억하세요.

challenge icon

챌린지

쉬움

아이템 배열, 추가할 새 아이템, 그리고 삭제할 인덱스를 매개변수로 받아 수정된 배열을 반환하는 modifyInventory 함수를 작성하세요.

다음 작업을 순서대로 수행하세요:

  1. 첫 번째 요소를 "Updated"로 변경합니다.
  2. 배열의 끝에 새 아이템을 추가합니다.
  3. 지정된 인덱스에 있는 요소를 제거합니다.

매개변수:

  • items ([String]): 초기 아이템 배열
  • newItem (String): 추가할 아이템
  • removeIndex (Int): (아이템 추가 후) 제거할 요소의 인덱스

반환값: 모든 작업이 완료된 후의 수정된 배열 ([String])

예시: 만약 items["A", "B", "C"]이고, newItem"D"이며, removeIndex2라면, 함수는 다음과 같이 동작해야 합니다:

  1. 첫 번째 요소 변경: ["Updated", "B", "C"]
  2. "D" 추가: ["Updated", "B", "C", "D"]
  3. 인덱스 2의 요소 제거: ["Updated", "B", "D"]

치트 시트

var로 선언된 배열은 수정할 수 있지만, let으로 선언된 배열은 불변입니다.

특정 인덱스에 새로운 값을 할당하여 요소를 변경합니다:

var colors = ["Red", "Green", "Blue"]
colors[1] = "Yellow"  // ["Red", "Yellow", "Blue"]

append를 사용하여 단일 요소를 추가합니다:

var numbers = [1, 2, 3]
numbers.append(4)  // [1, 2, 3, 4]

+=를 사용하여 여러 요소를 추가합니다:

numbers += [5, 6]  // [1, 2, 3, 4, 5, 6]

insert(_:at:)를 사용하여 특정 위치에 요소를 삽입합니다:

var fruits = ["Apple", "Orange"]
fruits.insert("Banana", at: 1)  // ["Apple", "Banana", "Orange"]

remove(at:)를 사용하여 특정 인덱스의 요소를 제거합니다:

var items = ["A", "B", "C", "D"]
items.remove(at: 2)  // ["A", "B", "D"]

요소가 제거되면, 뒤따르는 모든 요소가 빈 자리를 채우기 위해 앞으로 이동합니다.

직접 해보기

func modifyInventory(items: [String], newItem: String, removeIndex: Int) -> [String] {
    // 여기에 코드를 작성하세요
}
quiz icon실력 점검

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

기초의 모든 레슨