Menu
Coddy logo textTech

변형 요소 추가하기

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

challenge icon

챌린지

쉬움

이전 레슨에서는 고정된 제수인 3과 5를 사용하여 1부터 주어진 제한값까지 FizzBuzz를 실행하는 루프를 만들었습니다. 이제 제수를 사용자 정의할 수 있도록 만들어 변화를 주어 봅시다!

사용자 정의 제수를 위한 두 개의 추가 매개변수를 받도록 fizzBuzz 함수를 수정하세요:

  • 함수 시그니처를 다음과 같이 업데이트합니다: fizzBuzz(_ number: Int, fizzAt: Int = 3, buzzAt: Int = 5) -> String
  • "Fizz" 확인을 위해 3 대신 fizzAt을 사용합니다
  • "Buzz" 확인을 위해 5 대신 buzzAt을 사용합니다
  • 기본값은 제수가 지정되지 않았을 때 클래식 FizzBuzz가 여전히 작동하도록 보장합니다

다음 입력을 받게 됩니다:

  1. 상한값 (정수)
  2. "Fizz"를 위한 첫 번째 제수 (정수)
  3. "Buzz"를 위한 두 번째 제수 (정수)

각 숫자에 대해 이러한 사용자 정의 제수를 함수에 전달하도록 루프를 업데이트하세요.

예를 들어, 입력값이 10, 2, 3인 경우 출력은 다음과 같아야 합니다:

1
Fizz
Buzz
Fizz
5
FizzBuzz
7
Fizz
Buzz
Fizz

이 예제에서 "Fizz"는 2의 배수에 대해 출력되고, "Buzz"는 3의 배수에 대해, "FizzBuzz"는 둘 다의 배수(예: 6)에 대해 출력됩니다.

입력값이 15, 3, 5(클래식 제수)인 경우 출력은 원래의 FizzBuzz와 일치해야 합니다:

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz

직접 해보기

func fizzBuzz(_ number: Int) -> String {
    if number % 3 == 0 && number % 5 == 0 {
        return "FizzBuzz"
    } else if number % 3 == 0 {
        return "Fizz"
    } else if number % 5 == 0 {
        return "Buzz"
    } else {
        return String(number)
    }
}

// Read input
let limit = Int(readLine()!)!

// Loop from 1 to limit and print the result for each number
for number in 1...limit {
    print(fizzBuzz(number))
}

기초의 모든 레슨