반복문에서의 범위
Coddy Swift 여정의 기초 섹션에 포함된 레슨 — 86개 중 48번째.
여러분은 루프에서 1...5와 같은 범위를 사용해 왔지만, Swift는 이러한 범위를 정의하는 방식에 있어 더 많은 유연성을 제공합니다. 다양한 범위 유형과 역순으로 숫자를 세는 유용한 기술을 살펴보겠습니다.
폐쇄 범위 연산자(...)는 양 끝점을 모두 포함합니다:
for i in 1...3 {
print(i)
}
// 출력: 1, 2, 3반개방 범위 연산자(..<)는 상한을 제외하며, 이는 0 기반 인덱스로 작업할 때 특히 유용합니다:
for i in 0..<3 {
print(i)
}
// 출력: 0, 1, 2때때로 역순으로 반복해야 할 때가 있습니다. reversed() 메서드를 사용하면 범위를 역순으로 반복할 수 있습니다:
for i in (1...3).reversed() {
print(i)
}
// 출력: 3, 2, 1범위 주위의 괄호에 주목하세요—범위에 대해 reversed()를 호출할 때 이 괄호가 필요합니다. 이 기법은 카운트다운이나 항목을 마지막부터 처음 순서로 처리해야 할 때 완벽합니다.
챌린지
쉬움n을 매개변수로 받아 n부터 1까지의 카운트다운과 그 뒤에 이어지는 "Go!"를 포함하는 문자열을 반환하는 countdown 함수를 작성하세요.
범위(range)에 reversed() 메서드를 사용하여 역순으로 반복하고 카운트다운 문자열을 만드세요.
로직:
1부터n까지의 범위를 생성하고 이를 반전시킵니다.- 각 숫자를 줄바꿈으로 구분하여 문자열을 빌드합니다.
- 마지막 줄에 "Go!"를 추가합니다.
매개변수:
n(Int): 카운트다운을 시작할 숫자 (1 이상)
반환값: 각 카운트다운 숫자가 개별 줄에 표시되고 "Go!"로 끝나는 문자열 (String). 형식:
3
2
1
Go!예를 들어, n이 3이면 함수는 "3\n2\n1\nGo!"를 반환합니다.
치트 시트
Swift는 루프를 위한 두 가지 범위 연산자를 제공합니다:
닫힌 범위 연산자 (...)는 양쪽 끝점을 모두 포함합니다:
for i in 1...3 {
print(i)
}
// 출력: 1, 2, 3반-열린 범위 연산자 (..<)는 상한을 제외합니다:
for i in 0..<3 {
print(i)
}
// 출력: 0, 1, 2범위를 역순으로 반복하려면 reversed() 메서드를 사용하세요:
for i in (1...3).reversed() {
print(i)
}
// 출력: 3, 2, 1참고: reversed()를 호출할 때는 범위 주위에 괄호가 필요합니다.
직접 해보기
func countdown(n: Int) -> String {
// 여기에 코드를 작성하세요
}
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.