Switch 문에서의 범위
Coddy Swift 여정의 로직 및 흐름 섹션에 포함된 레슨 — 56개 중 10번째.
기초 과정에서 범위(ranges)와 함께 switch를 사용해 보았습니다. 이와 동일한 기법은 각 case가 값의 범위를 다루는 실제 분류 문제로 확장될 수 있습니다.
let temp = 22
switch temp {
case ..<0: print("freezing")
case 0..<10: print("cold")
case 10..<20: print("mild")
case 20..<30: print("warm")
default: print("hot")
}
// warm첫 번째 case ..<0은 단방향 범위 형식을 사용합니다: "0보다 작은 모든 값". 0...을 사용하여 "0 이상"을 의미할 수도 있습니다.
케이스는 위에서 아래로 확인되며 첫 번째로 일치하는 항목이 적용되므로, 낮은 순서에서 높은 순서로 배치하십시오 (또는 모든 경우를 처리하려면 default를 사용하십시오).
챌린지
초급입력에서 정수 하나를 읽으세요: 섭씨 온도입니다. 범위 케이스(range cases)가 있는 단일 switch 문을 사용하여 다음 라벨 중 하나를 출력하세요:
0미만 (음수):freezing0...9:cold10...19:mild20...29:warm30...39:hot40이상:scorching
입력이 22인 경우, 출력은 warm입니다.
치트 시트
범위 케이스와 함께 switch를 사용하여 값을 분류합니다. 케이스는 위에서 아래로 확인되며, 첫 번째로 일치하는 케이스가 선택됩니다.
let temp = 22
switch temp {
case ..<0: print("freezing") // 단방향: 0 미만의 모든 값
case 0..<10: print("cold")
case 10..<20: print("mild")
case 20..<30: print("warm")
default: print("hot") // 나머지 모든 경우
}
// warm..<0— 단방향 범위: 0보다 작은 모든 값40...— 단방향 범위: 40 이상의 모든 값- 케이스를 낮은 순서에서 높은 순서로 정렬하세요. 나머지 모든 경우를 처리하려면
default를 사용하세요.
직접 해보기
let temp = Int(readLine()!)!
// TODO: 범위를 사용하여 temp에 대해 switch 문을 작성하고, 일치하는 라벨을 출력하세요.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.