728x90
반응형
SMALL
백준 10813번을 풀면서 ClosedRange에 대해서 알게 되었다.
ClosedRange는 말 그대로 닫혀진 범위라는 뜻이다.
아래를 살펴보자
- 하위 바운드 부터 상위 바운드의 경계
다음과 같이 선언하고 사용한다.
let throughFive = 0...5
throughFive.contains(3)
// true
throughFive.contains(10)
// false
throughFive.contains(5)
// true
ClosedRange는 Description 에서 알 수 있듯이
lower bounds와 upper bounds 를 모두 포함하기 때문에,
lowerbounds == upperbounds 인 ClosedRange도 값을 가질 수 있다.
즉, ClosedRange는 빈 값을 나타낼 수 없다.
let zeroInclusive = 0...0
zeroInclusive.contains(0)
// true
zeroInclusive.isEmpty
// false
Collection으로 사용하는 방법
for n in 3...5 {
print(n)
}
// "3"
// "4"
// "5"
ClosedRange 타입은 Strideable 프로토콜을 준수하는 Interger 타입이므로 for-in 루프나 시퀀스 메서드에 사용가능하다.
그렇지만 Float나 Double 은 그 자신의 Stride 타입이므로 Countable range 가 될 수 없다.
-> ClosedRange에 적용 불가능
728x90
반응형
LIST
'Swift' 카테고리의 다른 글
[Swift / iOS ] 디자인 패턴 (MVVM, MVP, MVI에 대한 모든 것 ) - Hyeon's iOS 개발 (0) | 2023.12.14 |
---|---|
[Swift] 고차함수 Flatmap, CompatMap, map 의 사용 (0) | 2023.11.21 |
[Swift]iOS 17 업데이트로 인한 Apple의 URL Parsing 변경 이슈 (1) | 2023.10.06 |
[Swift] 라이노 님의 FileIO 코드 분석하기 (0) | 2023.10.03 |
[Swift] 정렬 메소드 sort( ), sorted( ) (0) | 2023.05.14 |