세트 생성하기
Coddy Swift 여정의 로직 및 흐름 섹션에 포함된 레슨. 56개 중 18번째.
Set은 유일한 값들의 순서 없는 컬렉션입니다. 모든 요소의 타입이 동일해야 하며, 중복이 허용되지 않고, 예측 가능한 순회 순서가 없습니다.
var colors: Set<String> = ["red", "green", "blue", "red"]
print(colors.count) // 3 (중복된 "red"는 제거됨)["a", "b"] 자체는 Array로 추론되기 때문에 리터럴 형태에서는 타입 어노테이션 Set<String>이 필수입니다.
세 가지 핵심 연산: contains, insert, 그리고 remove. 후자 두 가지는 변경 사항이 유의미했는지 여부에 대한 정보를 반환합니다.
colors.insert("yellow") // 추가합니다
colors.insert("red") // 이미 있음, 효과 없음
colors.contains("green") // true
colors.remove("blue") // "blue"를 반환하거나 없으면 nil배열로부터 세트를 생성하면 한 번에 중복이 제거됩니다:
let unique = Set([1, 2, 2, 3, 3, 3])
// 3개의 요소, 정확한 순서는 보장되지 않음챌린지
초급한 줄의 입력을 읽습니다: 쉼표로 구분된 words 목록(중복 포함 가능).
세 줄을 출력합니다:
- unique
words의 개수 (Set사용) - 알파벳순으로
sorted되고,로joined된uniquewords - 입력에
swift단어가 포함되어 있으면true, 그렇지 않으면false(contains사용)
입력 swift,ruby,go,swift,go,rust에 대한 출력은 다음과 같습니다:
4
go,ruby,rust,swift
true직접 해보기
let words = readLine()!.components(separatedBy: ",")
// TODO: Set으로 중복 제거, 개수 출력, 정렬 후 결합, 지침의 정확한 텍스트 포함
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
로직 및 흐름의 모든 레슨
직접 연습해 보세요: Swift 플레이그라운드