티스토리 뷰
Swift Set
Set, 직역하자면 집합이라는 의미인데요. Swift에는 Set이라는 컬렉션 기능이 제공이 됩니다.
Set의 간단한 기능을 설명드리자면, Set은 중복값이 들어가지 않는 컬렉션이라고 볼 수 있는데요. 과연 어떤 역할을 할 지 알아보겠습니다.
Set Declaration
Set의 정의는 위와 같습니다. Hashable 형태의 값 들을 취급하는 구조체로 되어있는데요. @frozen은 처음 들어보는 거여서 살짝 찾아봤습니다.
음... @frozen의 의미가 이후에 뭔가 새로운 게 추가되지 않을 것 같은(?) 느낌인데 아직 제대로 모르겠네요. 일단 스킵하겠습니다. 아시는분은 댓굴 주시면 감사하겠습니다. ㅠ_ㅠ...
Overview
만약 컬렉션 내의 값이 정렬되있지 않아도 될때, 실행 효율성을 높히고자할때 배열대신 사용할 수 있는 컬렉션이 Set인데요. 앞서 말씀드렸듯이 가장 큰 Set의 특징은 중복된 요소는 들어가지 않는 다는 것입니다. 가령
"A", "B", "C", "C"
가 Set에 들어간다고 가정하면,
"A", "B", "C"
만 남게 되는 것이지요. 중복된 값인 "C"는 단 하나만 남게 됩니다.
또한 앞서 말씀 드렸듯이, Set은 Hashable 프로토콜을 준수 한 값들만 취급하게 됩니다. 하지만 다행히도 Hashable 프로토콜은 평소 많이 사용하는 대부분의 타입이 해당 됩니다. 숫자형, 불린, 스트링 형 뿐만 아니라 심지어 Set 당사자 까지도 취급할 수 있다고 합니다.
Swift에서는 Set을 쉽게 생성할 수 있는데요. Set 타입에 배열형태로 값을 넣어주면 Set을 사용할 수 있습니다. 값은 상수형(immutable)이던, 변수형(variable)전부 할당 가능합니다.
let ingredients: Set = ["cocoa", "sugar", "butter", "salt"]
식으로 말이지요.
Swift 문법에 대해서 틈 날때마다 포스팅을 해보겠습니다. 즐거운 하루 되세요 ^-^//
'알고리즘 정보 > Swift 알고리즘' 카테고리의 다른 글
Swift 알고리즘, 공백 유무 별 readLine 입력값 처리방법 (1) | 2020.06.04 |
---|---|
백준 용액 2467, 이진탐색 활용 swift 문제풀이 (0) | 2020.05.31 |
프로그래머스 가장 먼 노드, 그래프 BFS swift 문제풀이 (0) | 2020.05.24 |
백준 1963 소수경로, BFS swift 알고리즘 문제 풀이 (0) | 2020.05.23 |
백준 3518 공백왕 빈-칸, 문자열 swift 알고리즘 문제 풀이 (0) | 2020.05.23 |
- Total
- Today
- Yesterday
- uikit
- CoreML
- createML
- 백준swift
- 부스트코스
- swift문제
- Protocol
- SwiftUI
- 김프매매
- swift알고리즘
- 컬렉션
- 알고리즘문제
- Collection
- Swift 알고리즘
- 백준알고리즘
- 프로그래머스
- 스위프트
- swift
- swift언어
- publisher
- 자연어처리
- 알고리즘
- swift 문자열
- swift 기초
- swift reduce
- 프로그래머스swift
- 프로토콜
- swift string
- 개발자문서
- ios
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |