코테 문제 풀어보다가 2차원 배열의 합을 구해야하는 문제가 있었다.
나는 이중 for문 돌려서 풀었는데 다른 사람 풀이에 zip 연산자를 사용한게 있어서 알아보려고 한다!
"두 개의 기본 시퀀스로 구성된 쌍의 시퀀스를 생성합니다."
⬇️아래는 공식문서 예제
let words = ["one", "two", "three", "four"]
let numbers = 1...4
for (word, number) in zip(words, numbers) {
print("\(word): \(number)")
}
// Prints "one: 1"
// Prints "two: 2"
// Prints "three: 3"
// Prints "four: 4"
두 원소가 항상 짝을 짓고 있네용
만일 둘의 길이가 달라 쌍이 맞지 않다면?
let words = ["one", "two", "three", "four"]
let naturalNumbers = 1...Int.max
let zipped = Array(zip(words, naturalNumbers))
// zipped == [("one", 1), ("two", 2), ("three", 3), ("four", 4)]
결과는 더 짧은 길이를 가진 시퀀스와 길이가 같아지네용
📚 참고
https://developer.apple.com/documentation/swift/zip(_:_:)
📑 zip을 사용한 알고리즘 문제
https://im-gu-ma.tistory.com/129
'iOS > Swift' 카테고리의 다른 글
[Swift] 배열 순회시 index도 같이 조회하고 싶다면? > enumerated() (0) | 2024.07.05 |
---|