Menu
Coddy logo textTech

범위가 있는 Switch 문

Coddy Swift 여정의 기초 섹션에 포함된 레슨 — 86개 중 30번째.

Switch 문은 개별 값 대신 범위를 사용할 때 더욱 강력해집니다. 이는 점수를 등급으로 변환하는 것과 같이 숫자를 그룹으로 분류하는 데 매우 유용합니다.

let score = 85

switch score {
case 90...100:
    print("A")
case 80..<90:
    print("B")
case 70..<80:
    print("C")
case 60..<70:
    print("D")
default:
    print("F")
}

... 연산자는 양쪽 끝점을 모두 포함하는 닫힌 범위를 생성하므로, 90...100은 90, 91부터 100까지 일치합니다. ..< 연산자는 상한선을 제외하는 반개방 범위를 생성합니다. 즉, 80..<90은 80부터 89까지 일치합니다.

Swift는 각 케이스를 순서대로 확인하고 첫 번째로 일치하는 케이스를 실행합니다. 점수가 85점이므로 80..<90 범위에 해당하며, "B"가 출력됩니다. 이 방식은 비교 연산자를 사용하여 여러 개의 else if 조건을 작성하는 것보다 훨씬 깔끔합니다.

challenge icon

챌린지

쉬움

age를 입력받아 연령대별 생애 주기 범주를 반환하는 getAgeCategory 함수를 작성하세요.

범위를 사용하는 switch 문을 사용하여 나이를 다섯 가지 생애 주기 중 하나로 분류하세요.

조건:

  • 0...2 - "Infant" 반환
  • 3...12 - "Child" 반환
  • 13...19 - "Teenager" 반환
  • 20...64 - "Adult" 반환
  • 65...120 - "Senior" 반환
  • 그 외의 값 - "Invalid age" 반환

매개변수:

  • age (Int): 사람의 나이

반환값: 생애 주기 범주 (String)

치트 시트

Switch 문은 특정 범위 내의 값을 일치시키기 위해 범위(ranges)를 사용할 수 있습니다:

let score = 85

switch score {
case 90...100:
    print("A")
case 80..<90:
    print("B")
case 70..<80:
    print("C")
default:
    print("F")
}

... 연산자는 양쪽 끝점을 모두 포함하는 닫힌 범위(closed range)를 생성합니다 (예: 90...100은 90부터 100까지 일치합니다).

..< 연산자는 상한값을 제외하는 반열린 범위(half-open range)를 생성합니다 (예: 80..<90은 80부터 89까지 일치합니다).

Swift는 각 케이스를 순서대로 확인하고 첫 번째로 일치하는 케이스를 실행합니다.

직접 해보기

func getAgeCategory(age: Int) -> String {
    // 여기에 코드를 작성하세요
}
quiz icon실력 점검

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

기초의 모든 레슨