Menu
Coddy logo textTech

새로운 규칙 추가하기

Coddy R 여정의 기초 섹션에 포함된 레슨 — 78개 중 55번째.

challenge icon

챌린지

쉬움

이전 레슨에서는 기본 제수인 3과 5를 사용하여 숫자들을 반복하는 FizzBuzz 프로그램을 만들었습니다. 이제 기본 매개변수(default parameters)를 통해 제수를 사용자 정의할 수 있도록 만들어 변화를 주어보세요.

fizzbuzz 함수가 세 개의 인수를 받도록 수정하세요:

  • n - 확인할 숫자 (필수)
  • fizz_divisor - "Fizz"를 위한 제수 (선택 사항, 기본값은 3)
  • buzz_divisor - "Buzz"를 위한 제수 (선택 사항, 기본값은 5)

함수는 가독성을 위해 하드코딩된 값 대신 이러한 사용자 정의 제수를 사용하여 가해지는 숫자를 확인해야 합니다.

세 줄의 입력을 받게 됩니다:

  1. 상한선 n
  2. fizz 제수
  3. buzz 제수

1부터 n까지 반복하며 세 개의 인수를 모두 사용하여 업데이트된 fizzbuzz 함수를 호출하세요. 각 결과를 출력합니다.

예를 들어, 입력이 다음과 같다면:

10
2
3

출력은 다음과 같아야 합니다:

[1] "1"
[1] "Fizz"
[1] "Buzz"
[1] "Fizz"
[1] "5"
[1] "FizzBuzz"
[1] "7"
[1] "Fizz"
[1] "Buzz"
[1] "Fizz"

입력이 다음과 같다면:

15
3
5

출력은 다음과 같아야 합니다:

[1] "1"
[1] "2"
[1] "Fizz"
[1] "4"
[1] "Buzz"
[1] "Fizz"
[1] "7"
[1] "8"
[1] "Fizz"
[1] "Buzz"
[1] "11"
[1] "Fizz"
[1] "13"
[1] "14"
[1] "FizzBuzz"

직접 해보기

# Read input
con <- file("stdin", "r")
n <- as.numeric(suppressWarnings(readLines(con, n = 1)))

# Function from previous lesson
check_divisible <- function(number, divisor) {
  return(number %% divisor == 0)
}

# Create the fizzbuzz function
fizzbuzz <- function(n) {
  if (check_divisible(n, 3) && check_divisible(n, 5)) {
    return("FizzBuzz")
  } else if (check_divisible(n, 3)) {
    return("Fizz")
  } else if (check_divisible(n, 5)) {
    return("Buzz")
  } else {
    return(as.character(n))
  }
}

# Loop through numbers from 1 to n and print the result
for (i in 1:n) {
  print(fizzbuzz(i))
}

기초의 모든 레슨