Bird
Raised Fist0
Swiftprogramming~5 mins

Switch with compound cases in Swift - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Switch with compound cases
O(n)
Understanding Time Complexity

Let's see how the time it takes to run a switch statement with multiple cases changes as we add more cases.

We want to know how the program's work grows when checking several options in a switch.

Scenario Under Consideration

Analyze the time complexity of the following code snippet.


let value = 3

switch value {
case 1, 2:
    print("One or Two")
case 3, 4, 5:
    print("Three to Five")
default:
    print("Other")
}
    

This code checks the value against groups of numbers using compound cases in a switch statement.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: The switch statement checks each case group one by one.
  • How many times: It compares the value to each case group until it finds a match or reaches default.
How Execution Grows With Input

As the number of case groups grows, the program checks more groups before finding a match.

Input Size (number of case groups)Approx. Operations (comparisons)
3Up to 3 checks
10Up to 10 checks
100Up to 100 checks

Pattern observation: The number of checks grows directly with the number of case groups.

Final Time Complexity

Time Complexity: O(n)

This means the time to find a matching case grows in a straight line as you add more case groups.

Common Mistake

[X] Wrong: "Switch statements always run in constant time no matter how many cases there are."

[OK] Correct: Actually, the switch checks cases one by one until it finds a match, so more cases mean more checks and longer time.

Interview Connect

Understanding how switch statements work helps you explain how your code handles many options efficiently and shows you think about performance clearly.

Self-Check

"What if we replaced the switch with a dictionary lookup? How would the time complexity change?"

Practice

(1/5)
1.

What does a compound case in a Swift switch statement allow you to do?

easy
A. Skip the default case safely
B. Use multiple switch statements at once
C. Combine if and switch in one line
D. Match multiple values in a single case using commas

Solution

  1. Step 1: Understand compound cases

    Compound cases let you list several values separated by commas in one case.
  2. Step 2: Recognize the benefit

    This makes the code cleaner by avoiding repeated code for similar cases.
  3. Final Answer:

    Match multiple values in a single case using commas -> Option D
  4. Quick Check:

    Compound case = multiple values in one case [OK]
Hint: Look for commas inside a case to spot compound cases [OK]
Common Mistakes:
  • Thinking compound cases combine multiple switches
  • Believing compound cases skip default
  • Confusing compound cases with if-else
2.

Which of the following is the correct syntax for a compound case in Swift?

switch value {
    case 1, 2, 3:
        print("One to three")
    default:
        print("Other")
}
easy
A. case 1, 2, 3:
B. case 1; 2; 3:
C. case (1, 2, 3):
D. case [1, 2, 3]:

Solution

  1. Step 1: Recall Swift compound case syntax

    Swift uses commas to separate multiple values in one case.
  2. Step 2: Check each option

    case 1, 2, 3: uses commas correctly; others use semicolons, parentheses, or brackets incorrectly.
  3. Final Answer:

    case 1, 2, 3: -> Option A
  4. Quick Check:

    Commas separate values in compound case [OK]
Hint: Use commas, not semicolons or brackets, for compound cases [OK]
Common Mistakes:
  • Using semicolons instead of commas
  • Putting values inside parentheses or brackets
  • Missing the colon after case
3.

What will be printed by this Swift code?

let letter = "b"
switch letter {
case "a", "e", "i", "o", "u":
    print("Vowel")
case "b", "c", "d":
    print("Consonant")
default:
    print("Other")
}
medium
A. Vowel
B. No output
C. Consonant
D. Other

Solution

  1. Step 1: Identify the value of letter

    The variable letter is "b".
  2. Step 2: Match letter in switch cases

    "b" matches the second case with "b", "c", "d" which prints "Consonant".
  3. Final Answer:

    Consonant -> Option C
  4. Quick Check:

    "b" in second case = Consonant [OK]
Hint: Check which case list contains the value [OK]
Common Mistakes:
  • Confusing vowels and consonants
  • Forgetting to include default case
  • Assuming no output if no exact match
4.

Find the error in this Swift switch statement:

let number = 3
switch number {
case 1, 2
    print("One or Two")
case 3:
    print("Three")
default:
    print("Other")
}
medium
A. Missing colon after case 1, 2
B. Missing default case
C. Cannot use compound cases with integers
D. Missing parentheses around 1, 2

Solution

  1. Step 1: Check syntax of each case

    Each case must end with a colon (:). The first case is missing it.
  2. Step 2: Verify other parts

    Default case is present; compound cases with integers are allowed; parentheses are not needed.
  3. Final Answer:

    Missing colon after case 1, 2 -> Option A
  4. Quick Check:

    Case lines must end with colon [OK]
Hint: Look for missing colons after case labels [OK]
Common Mistakes:
  • Forgetting colon after case
  • Thinking parentheses are required
  • Believing compound cases disallow integers
5.

Given this Swift code, what will be the output?

let grade = "B"
switch grade {
case "A", "B", "C":
    print("Pass")
case "D", "F":
    print("Fail")
case "I", "W":
    print("Incomplete or Withdrawn")
default:
    print("Unknown grade")
}
hard
A. Incomplete or Withdrawn
B. Pass
C. Fail
D. Unknown grade

Solution

  1. Step 1: Identify the value of grade

    The variable grade is "B".
  2. Step 2: Match grade in compound cases

    "B" matches the first case "A", "B", "C" which prints "Pass".
  3. Final Answer:

    Pass -> Option B
  4. Quick Check:

    "B" in first case = Pass [OK]
Hint: Match value to any in compound case list [OK]
Common Mistakes:
  • Assuming "B" is a fail grade
  • Ignoring default case
  • Confusing case groups
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard