RandomAccessCollection 랜덤 접근 컬렉션 랜덤 접근 컬렉션(RandomAccessCollection)은 첨자 접근 등에 있어서 효율적인 랜덤접근을 지원하는 컬렉션입니다. 랜덤 접근 컬렉션은 프로토콜로 되어있습니다. Declaration RandomAccessCollection 선언 형태 앞서 말했듯이, RandomAccessCollection은 프로토콜로 되어있으며 해당 프로토콜을 채택한 객체는 Indices, SubSequence에 대해서 RandomAccessCollection의 형태를 준수해주어야합니다. Overview 개요 랜덤 접근 컬렉션(Random-Access-Collection)은 어느 위치에 있던, 임의의 인덱스 접근을 단 O(1)의 시간복잡도 만으로 수행합니다. 단적인..
오늘은 Swift에서 String을 사용할때 주의해야할 점을 알아보겠습니다. swift 언어로 set, string, array 등의 컬렉션 타입이 비었을때를 체크할 때, 많은 사람들이 아래와 같이 사용하곤 합니다.. 아래의 코드를 보겠습니다. 위의 코드는 string의 count를 통해 문자열의 길이를 체크해서 0일 경우 비어있음으로 판단하는 코드입니다. 하지만, 위의 코드보다 더 보기좋고, 효울적인 코드가 있습니다. 해당 코드는 아래와 같습니다. 스위프트의 String 타입에서 count대신 isEmpty를 사용해서 문자열이 비어있는지를 확인하는 것은 보기에도 좋지만 isEmpty는 count == 0에 비해 더 빠른 장점도 갖고 있습니다. 그 이유는 무엇일까요?? 🤔 How Swift strings..
BidirectionalCollection 양방향 컬렉션 후방, 전방 순회를 둘 다 지원하는 컬렉션(Collection) Protocol 양방향컬렉션 프로토콜 선언 Overview 개요 양방향 컬렉션(Bidirectional Collection)은 전방 뿐만 아니라 후방의 유효한 인덱스에서 순회하는것을 지원합니다. startIndex 필요 없이 말이죠. 양방향컬렉션은 이렇듯 전방순회뿐만 아니라 후방 순회가 가능한데요. 이에 따른 추가적인 연산기능을 제공하고 있습니다. 마지막 요소를 효율적으로 접근할 수 있도록 하는 기능, 역순으로 요소들을 얻을 수 있게 해주는 reversed() 메서드 등이 그 예입니다. 그 뿐만 아니라, 양방향 컬렉션은 suffix(_:)와 같은 메서드를 사용할 수 있게 해줍니다. s..
Traversing a Collection 컬렉션 순회하기 비록 Collection이 채택하고 있는 Sequence 프로토콜 또한 순회하는 역할로서 사용되어지지만, Collection 은 멀티패스(MultiPass)를 보장합니다. 어떠한 요소(element)라도 그들의 인덱스가 저장 됨으로서 반복적으로 접근될 수 있습니다. 무엇보다도, Collection의 색인 범위는 내부 요소들의 위치에 대한 유한한 범위를 갖고 있습니다. 즉, Collection이 유한한 색인 범위를 보장한다는 것은 많은 Sequence 작업을 함에 있어 안전을 보장함을 의미합니다. 예를들면 Collection이 특정 요소를 가지고 있는지 확인하는데 사용하는 contains(_:) 메서드가 있습니다. 그들의 위치에 따라 Collect..
- Total
- Today
- Yesterday
- 스위프트
- swift reduce
- CoreML
- publisher
- SwiftUI
- 프로그래머스swift
- Swift 알고리즘
- 알고리즘문제
- 개발자문서
- 김프매매
- Protocol
- 프로그래머스
- swift
- 백준알고리즘
- 알고리즘
- uikit
- 프로토콜
- swift문제
- swift알고리즘
- createML
- swift 문자열
- swift string
- ios
- Collection
- 자연어처리
- 부스트코스
- swift 기초
- 백준swift
- swift언어
- 컬렉션
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |