새로운 규칙 추가하기
Coddy R 여정의 기초 섹션에 포함된 레슨 — 78개 중 55번째.
챌린지
쉬움이전 레슨에서는 기본 제수인 3과 5를 사용하여 숫자들을 반복하는 FizzBuzz 프로그램을 만들었습니다. 이제 기본 매개변수(default parameters)를 통해 제수를 사용자 정의할 수 있도록 만들어 변화를 주어보세요.
fizzbuzz 함수가 세 개의 인수를 받도록 수정하세요:
n- 확인할 숫자 (필수)fizz_divisor- "Fizz"를 위한 제수 (선택 사항, 기본값은3)buzz_divisor- "Buzz"를 위한 제수 (선택 사항, 기본값은5)
함수는 가독성을 위해 하드코딩된 값 대신 이러한 사용자 정의 제수를 사용하여 가해지는 숫자를 확인해야 합니다.
세 줄의 입력을 받게 됩니다:
- 상한선
n - fizz 제수
- 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))
}