티스토리 뷰
알고리즘 문제를 풀다가 String 과 Int를 결합할 일이 생겨서 zip을 사용해서 문제를 풀었습니다.
항상 같은 사이즈를 가지고 zip 했었는데 사이즈가 다른 것을 zip하면 어떻게 되는지 궁금했습니다.
스위프트 공식 문서를 보면 zip은
Creates a sequence of pairs built out of two underlying sequences.
두 개의 시퀀스로 구성된 것을 가지고 시퀀스쌍을 만듭니다.
라고 정의 내려져 있습니다.
먼저 두 개의 파라미터가 필요합니다.
sequnce1 - > zip할 첫 번째 시퀀스 혹은 컬렉션
sequnce2 -> zip할 두 번째 시퀀스 혹은 컬렉션
리턴하는 값은 튜플쌍들의 시퀀스를 리턴합니다. (각 쌍의 요소는 sequnce1 , sequnce2의 요소입니다,)
sequence1은 [String]으로 문자열 배열을
sequence2는 [Int]로 정수 배열을 선언한 후
두 개를 zip한 리턴 값을 가지고 for문을 돌려서 사용했습니다. (sequenceZip는 Zip2Sequence<[String],[Int]>)
첫 번째 for문의 i는 (String, Int) 튜플으로 사용 가능합니다.
두 번째 for문의 i는 String타입 , j는 Int타입으로 사용 가능합니다.
결과는 두개를 조합해서 잘 나오네요.
궁금했던 부분은 ! sequence1의 개수가 하나 줄여 사이즈가 다를 경우는 어떻게 실행되는지 살펴보았습니다.
sequence1의 사이즈는 3 sequence2의 사이즈는 4
에러도 내지 않고 ! 결과는 짧은쪽에 맞춰서 결과가 출력되었습니다.
알고보니 애플 공식 문서 아래쪽에 잘 살펴보면 있는 내용...
결론 길이가 다를경우 결과는 짧은 쪽의 시퀀스에 맞춰서 ...ㅎ 나옵니다.
공식 문서를 잘 보자 !
'Tech > Swift' 카테고리의 다른 글
Swift functions abs,assert,assertionFailure (0) | 2019.03.07 |
---|---|
Swift - Array shuffle() (2) | 2019.02.13 |
스위프트 removeAll과 filter비교 (0) | 2019.01.10 |
스위프트 map , forEach (0) | 2018.12.22 |
스위프트 오버로드 오버라이딩 (0) | 2018.12.19 |
- Total
- Today
- Yesterday
- 스위프트
- swiftUI
- objc
- string
- Animation
- ios
- 책 추천
- Algorithm
- iOS SwiftUI
- 책
- rxswift
- ReactiveX
- 책 후기
- objective-c
- wwdc
- ARC
- 문자열
- stanford SwiftUI
- Deep learning
- SWIFT
- swift5
- Xcode
- 애니메이션
- 딥러닝
- 머신러닝
- 독서
- 알고리즘
- leetcode
- 스위프트UI
- RX
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |