Menu
Coddy logo textTech

스트라이드

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, 8
for n in stride(from: 10, through: 0, by: -2) {
    print(n)
}
// 10, 8, 6, 4, 2, 0

by: 인수는 올바른 부호여야 합니다. 즉, 증가할 때는 양수, 감소할 때는 음수여야 합니다. 부호가 일치하지 않으면 루프가 0번 실행됩니다.

challenge icon

챌린지

쉬움

세 개의 정수(세 줄) start, end, step을 읽으세요. step은 양수일 수도 있고 음수일 수도 있습니다. 범위는 양 끝을 포함합니다 (stride(from:through:by:)를 사용하세요).

출력 내용:

  1. ,로 연결된 stride 내의 값들
  2. 생성된 값의 개수

입력이 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, 8

stride(from:through:by:) — 닫힘(종료 값 포함):

for n in stride(from: 10, through: 0, by: -2) { }
// 10, 8, 6, 4, 2, 0

by: 값은 방향과 일치해야 합니다. 숫자를 올릴 때는 양수, 내릴 때는 음수여야 합니다. 일치하지 않으면 반복이 수행되지 않습니다.

직접 해보기

let start = Int(readLine()!)!
let end = Int(readLine()!)!
let step = Int(readLine()!)!

// TODO: stride(from:through:by:)를 사용하고, 쉼표로 연결한 다음, 개수를 출력하세요
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

로직 및 흐름의 모든 레슨