스트라이드
Coddy Swift 여정의 로직 및 흐름 섹션에 포함된 레슨 — 56개 중 8번째.
범위는 한 번에 한 단계씩 진행됩니다. 다른 단계 크기를 원하거나, 거꾸로 세고 싶을 때는 stride를 사용하세요.
두 가지 방식이 있습니다: stride(from:to:by:)는 두 번째 값 직전에서 멈추며(반개방), stride(from:through:by:)는 두 번째 값을 포함할 수 있습니다(폐쇄):
for n in stride(from: 0, to: 10, by: 2) {
print(n)
}
// 0, 2, 4, 6, 8for n in stride(from: 10, through: 0, by: -2) {
print(n)
}
// 10, 8, 6, 4, 2, 0by: 인수는 올바른 부호여야 합니다. 즉, 증가할 때는 양수, 감소할 때는 음수여야 합니다. 부호가 일치하지 않으면 루프가 0번 실행됩니다.
챌린지
쉬움세 개의 정수(세 줄) start, end, step을 읽으세요. step은 양수일 수도 있고 음수일 수도 있습니다. 범위는 양 끝을 포함합니다 (stride(from:through:by:)를 사용하세요).
출력 내용:
,로 연결된 stride 내의 값들- 생성된 값의 개수
입력이 0 / 10 / 3인 경우, 출력은 다음과 같습니다:
0,3,6,9
4입력이 10 / 0 / -2인 경우, 출력은 다음과 같습니다:
10,8,6,4,2,0
6치트 시트
사용자 정의 단계 크기가 필요하거나 숫자를 거꾸로 세어야 할 때 stride를 사용하세요.
stride(from:to:by:) — 반열림(종료 값 제외):
for n in stride(from: 0, to: 10, by: 2) { }
// 0, 2, 4, 6, 8stride(from:through:by:) — 닫힘(종료 값 포함):
for n in stride(from: 10, through: 0, by: -2) { }
// 10, 8, 6, 4, 2, 0by: 값은 방향과 일치해야 합니다. 숫자를 올릴 때는 양수, 내릴 때는 음수여야 합니다. 일치하지 않으면 반복이 수행되지 않습니다.
직접 해보기
let start = Int(readLine()!)!
let end = Int(readLine()!)!
let step = Int(readLine()!)!
// TODO: stride(from:through:by:)를 사용하고, 쉼표로 연결한 다음, 개수를 출력하세요
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.