닫힌 범위 vs 반 열린 범위
Coddy Swift 여정의 로직 및 흐름 섹션에 포함된 레슨 — 56개 중 7번째.
Swift에는 거의 동일해 보이지만 서로 다른 의미를 가진 두 개의 범위 연산자가 있습니다.
a...b는 닫힌 범위입니다. 여기에는 b가 포함됩니다:
for i in 1...3 { print(i) }
// 1
// 2
// 3a..<b는 반열림 범위입니다. b 전에서 멈춥니다:
for i in 1..<3 { print(i) }
// 1
// 2개수(count)가 있을 때는 반열림(Half-open) 범위가 자연스럽습니다: 0..<arr.count는 배열의 모든 유효한 인덱스를 포함합니다. 양 끝값이 모두 중요한 실제 값일 때(점수 범위나 포함 관계인 성적 경계 등)는 닫힘(closed) 범위를 사용하세요.
챌린지
쉬움두 개의 정수(두 줄) a와 b를 읽습니다 (단, a <= b). 다음 세 줄을 출력하세요:
- 닫힌 범위
a...b의 값들을,로 연결하여 한 줄에 출력 - 반열린 범위
a..<b의 값들을,로 연결하여 출력 (범위가 비어 있는 경우 빈 줄 출력) - 닫힌 범위에 있는 모든 값의 합계
입력이 1 다음에 5인 경우, 출력은 다음과 같습니다:
1,2,3,4,5
1,2,3,4
15치트 시트
Swift의 범위 연산자:
a...b— 닫힌 범위,a와b를 모두 포함a..<b— 반 열린 범위,a를 포함하지만b직전에서 멈춤
for i in 1...3 { print(i) } // 1, 2, 3
for i in 1..<3 { print(i) } // 1, 2모든 유효한 배열 인덱스를 포함하려면 0..<arr.count를 사용하세요. 양쪽 끝값이 모두 의미 있는 값일 때는 닫힌 범위를 사용하세요.
직접 해보기
let a = Int(readLine()!)!
let b = Int(readLine()!)!
// TODO: 닫힌 범위 연결 출력, 반열린 범위 연결 출력, 닫힌 범위의 합계 출력
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.