0Pricing
Swift Academy · 강의

Array, Dictionary, Set 중 선택하기

각 상황에 적합한 컬렉션 타입과 성능 특성을 알아봅니다.

Array, Dictionary, Set 중 선택하기은(는) CoddyKit의 무료 Swift Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Swift Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

환영합니다

Swift에 내장된 세 가지 컬렉션인 배열, 딕셔너리, 집합은 각각 뚜렷한 장점을 지닙니다. 올바른 형식을 선택하면 정확성과 성능 모두에 영향을 줍니다.

배열: 순서가 있는 시퀀스

다음과 같은 경우 `Array`를 사용하십시오. • 순서가 중요할 때 • O(1)의 임의 인덱스 접근이 필요할 때 • 중복을 허용할 때 • 순차적으로 순회할 때 ```swift let steps = ["boil","add tea","steep","drink"] ```

딕셔너리: 키-값 조회

다음과 같은 경우 `Dictionary`를 사용하십시오. • 고유한 키로 O(1) 조회가 필요할 때 • 데이터가 자연스럽게 키로 구분될 때(사용자 ID, 구성 키) ```swift var userNames: [Int: String] = [42: "Alice", 7: "Bob"] print(userNames[42]!) // "Alice" ```

집합: 고유한 멤버 포함 여부

다음과 같은 경우 `Set`을 사용하십시오. • O(1)의 멤버 포함 여부 확인이 필요할 때 • 중복을 제외해야 할 때 • 순서가 중요하지 않을 때 ```swift var visitedPages: Set = [] visitedPages.insert("/home") print(visitedPages.contains("/home")) // true ```

성능 요약

| 연산 | 배열 | 딕셔너리 | 집합 | |-------------------|-------|----------|-------| | 끝에 추가 | O(1)* | O(1)* | O(1)* | | 인덱스/키 접근 | O(1) | O(1)* | — | | 검색 | O(n) | O(1)* | O(1)* | | 중간 삽입 | O(n) | O(1)* | O(1)* | *분할 상환 평균

배열이 집합보다 나은 경우

작은 컬렉션에서는 오버헤드가 더 적기 때문에 집합보다 배열이 더 유리한 경우가 많습니다. ```swift // For 5 items, Array.contains is perfectly fast: let tags = ["swift","ios","mobile"] if tags.contains("swift") { ... } ``` 해싱에 필요한 고정 오버헤드는 아주 작은 집합에서 성능을 지배할 수 있습니다.

순서가 있는 딕셔너리 패턴

키 조회와 삽입 순서를 모두 유지해야 할 때 사용합니다. ```swift // Use an array of tuples or a struct: var ordered: [(key: String, value: Int)] = [] // Or Foundation's NSOrderedDictionary // Or maintain a [Key] array alongside a [Key:Value] dict ```

다중집합 패턴

중복 항목을 개수와 함께 저장하는 다중집합에는 `[T: Int]`를 사용하십시오. ```swift var frequency: [String: Int] = [:] for word in words { frequency[word, default: 0] += 1 } ```

불변성: let과 var

세 가지 컬렉션 모두 불변성을 위해 `let`을 사용하면 좋습니다. ```swift let config: [String: String] = ["env": "prod"] let primes: Set = [2,3,5,7,11] let steps: [String] = ["fetch","parse","display"] ``` 불변 컬렉션은 실수로 변경되는 일을 방지하고 컴파일러 최적화를 가능하게 합니다.

실용적인 선택 순서도

다음 질문을 해 보십시오. 1. 위치를 기준으로 순서가 있는 접근이 필요합니까? → 배열 2. 고유한 키를 기준으로 조회해야 합니까? → 딕셔너리 3. 중복 없이 빠른 멤버 포함 여부 확인이 필요합니까? → 집합 4. 조합이 필요합니까? → 예를 들어 그룹화된 데이터에는 `[Key: [Value]]`처럼 조합하십시오

빠른 확인

고유한 키를 사용한 평균 O(1) 조회를 제공하는 컬렉션은 무엇입니까?

복습

핵심 정리: • 배열 — 순서가 있고 인덱스로 접근하며 중복을 허용합니다 • 딕셔너리 — 키-값 쌍을 저장하고 O(1) 조회를 제공합니다 • 집합 — 고유한 값을 저장하고 O(1)의 포함 여부 확인을 제공합니다 • 작은 컬렉션에서는 해싱 오버헤드 때문에 배열이 집합보다 나은 경우가 많습니다 • 복잡한 데이터 구조에는 컬렉션을 조합하십시오 과정을 완료했습니다! 다음 주제: 구조체 설계 패턴

자주 묻는 질문

“Array, Dictionary, Set 중 선택하기” 강의는 무료인가요?

네 — “Array, Dictionary, Set 중 선택하기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Swift Academy 강의 전체를 잠금 해제할 수 있습니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“Array, Dictionary, Set 중 선택하기”에서 뭘 배우나요?

각 상황에 적합한 컬렉션 타입과 성능 특성을 알아봅니다. 브라우저에서 직접 실행하는 실습 코드로 Swift Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Swift Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Swift Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“Array, Dictionary, Set 중 선택하기” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Swift Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Swift Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 딕셔너리 CRUD와 서브스크립트 접근
  2. 딕셔너리 순회와 변환
  3. 집합 연산: 합집합, 교집합, 차집합
  4. Array, Dictionary, Set 중 선택하기
← Swift Academy(으)로 돌아가기