컬렉션의 제네릭 알고리즘
map , filter , reduce 와 같은 제네릭 알고리즘으로 변환·선택·결합하고, 간단한 제약 조건을 사용해 Sequence 를 처리하는 함수를 직접 작성합니다.
컬렉션의 제네릭 알고리즘은(는) CoddyKit의 무료 Swift Academy 강의입니다. 이것은 3개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Swift Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Swift Academy 강의에는 총 3개의 강의가 포함되어 있습니다.
제네릭 알고리즘이 필요한 이유
Swift는 시퀀스/컬렉션에 사용할 수 있는 강력한 제네릭 알고리즘인 매핑, 필터링, reduce를 제공합니다. 직접 제네릭 헬퍼를 작성할 수도 있습니다.
매핑
매핑은 모든 요소에 변환을 적용하고 새 배열을 반환합니다.
let nums = [1, 2, 3]
let doubled = nums.map { $0 * 2 } // [2, 4, 6]
print(doubled)
let words = ["swift", "kit"]
let caps = words.map { $0.uppercased() } // ["SWIFT","KIT"]
print(caps)필터링
필터링은 조건을 만족하는 요소만 남깁니다.
let scores = [45, 72, 88, 53]
let passing = scores.filter { $0 >= 60 } // [72, 88]
print(passing)
let names = ["Ana","Li","Max"]
let short = names.filter { $0.count <= 2 } // ["Li"]
print(short)reduce
reduce는 시작 값과 결합 클로저를 사용해 시퀀스를 하나의 결과로 접습니다.
let sum = [1,2,3,4].reduce(0) { acc, x in acc + x } // 10
print(sum)
let joined = ["a","b","c"].reduce("") { acc, s in acc + s } // "abc"
print(joined)사용자 정의 제네릭(시퀀스)
입력을 시퀀스로 제한하고 그 요소를 사용해 직접 제네릭 알고리즘을 만드십시오.
// Works for any Sequence whose Element meets the predicate
func allMatch<S: Sequence>(_ seq: S, _ predicate: (S.Element) -> Bool) -> Bool {
for x in seq { if !predicate(x) { return false } }
return true
}
print(allMatch([2,4,6]) { $0 % 2 == 0 }) // true
print(allMatch(["ab","c"]) { $0.count >= 2 }) // false팁 및 패턴
팁:
- 명확한 클로저를 우선 사용하십시오. 가독성이 떨어지면 매개변수에 이름을 붙이십시오.
- 처리 파이프라인에는 매핑 → 필터링 → reduce를 연결하십시오.
- 성능을 위해 반복이 집중되는 부분 바깥에서 무거운 작업을 처리하십시오.
reduce의 의미
빠른 확인: 시작 값을 사용해 시퀀스를 하나의 값으로 결합하는 연산은 무엇입니까?
복습
복습: 변환하려면 매핑, 선택하려면 필터링, 결합하려면 reduce를 사용하십시오. 시퀀스를 대상으로 직접 제네릭 헬퍼를 작성할 수도 있습니다.
자주 묻는 질문
“컬렉션의 제네릭 알고리즘” 강의는 무료인가요?
네 — “컬렉션의 제네릭 알고리즘” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Swift Academy 강의 전체를 잠금 해제할 수 있습니다. Swift Academy 강의에는 총 3개의 강의가 포함되어 있습니다.
“컬렉션의 제네릭 알고리즘”에서 뭘 배우나요?
map , filter , reduce 와 같은 제네릭 알고리즘으로 변환·선택·결합하고, 간단한 제약 조건을 사용해 Sequence 를 처리하는 함수를 직접 작성합니다. 브라우저에서 직접 실행하는 실습 코드로 Swift Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Swift Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Swift Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 3개 중 3번째 강의입니다.
“컬렉션의 제네릭 알고리즘” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Swift Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Swift Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 제네릭 함수와 타입
- 제약 조건(where)과 타입 추론
- 컬렉션의 제네릭 알고리즘