반응형
Swift에서 stride와 reduce는 각각 반복 시퀀스를 생성하고 시퀀스를 축소하여 단일 값을 계산하는 데 사용되는 강력한 함수입니다.
stride 함수
stride 함수는 일정한 간격으로 값의 시퀀스를 생성하는 데 사용됩니다. stride(from:to:by:)와 stride(from:through:by:) 두 가지 형태가 있습니다.
1. stride(from:to:by:)
- 시작 값에서 종료 값까지 일정한 간격으로 증가하는 시퀀스를 생성합니다. 종료 값은 포함되지 않습니다.
for i in stride(from: 0, to: 10, by: 2) {
print(i)
}
- 출력: 0 2 4 6 8
2. stride(from:through:by:)
- 시작 값에서 종료 값까지 일정한 간격으로 증가하는 시퀀스를 생성합니다. 종료 값을 포함합니다.
for i in stride(from: 0, through: 10, by: 2) {
print(i)
}
- 출력: 0 2 4 6 8 10
reduce 함수
reduce 함수는 시퀀스의 모든 요소를 결합하여 단일 값을 생성합니다. reduce는 초기값과 결합 클로저를 매개변수로 받습니다.
1. 기본 사용법
let numbers = [1, 2, 3, 4, 5]
let sum = numbers.reduce(0) { $0 + $1 }
print(sum)
- 출력: 15
- 여기서 0은 초기값이고, { $0 + $1 }는 결합 클로저입니다. reduce는 시퀀스의 각 요소를 초기값과 결합하여 최종 값을 반환합니다.
2. 기본 제공 결합 연산자 사용
let sum = numbers.reduce(0, +)
print(sum)
- 출력: 15
- 여기서는 + 연산자를 결합 클로저로 사용하여 더 간결하게 작성할 수 있습니다.
3. 다양한 연산
reduce는 다양한 연산에 사용할 수 있습니다.
예를 들어, 곱셈, 문자열 결합, 복잡한 데이터 구조 축소 등에도 사용할 수 있습니다.
곱셈 예제
let product = numbers.reduce(1, *)
print(product)
- 출력: 120
문자열 결합 예제
let strings = ["Swift", "is", "awesome"]
let sentence = strings.reduce("") { $0 + " " + $1 }
print(sentence)
- 출력: " Swift is awesome"
stride와 reduce를 함께 사용하기
[ 프로그래머스 ] 공배수
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 코
sheep1sik.tistory.com
반응형
'iOS > Swift' 카테고리의 다른 글
[ Swift ] Override (0) | 2025.02.06 |
---|---|
[ Swift ] mutating (0) | 2025.02.04 |
[ Swift ] Zip 함수 (0) | 2024.05.29 |
[ Swift ] prefix와 suffix (0) | 2024.05.28 |