FizzBuzz
FizzBuzz는 숫자를 세는 게임입니다. 플레이어는 1부터 세어 올라가지만, 일부 숫자는 단어로 바뀝니다. 3으로 나누어떨어지는 숫자는 Fizz, 5로 나누어떨어지는 숫자는 Buzz, 3과 5 모두로 나누어떨어지는 숫자는 FizzBuzz라고 말합니다. 나머지 숫자는 그대로 말합니다. 처음 15번의 차례는 1, 2, Fizz, 4, Buzz, Fizz, 7, 8, Fizz, Buzz, 11, Fizz, 13, 14, FizzBuzz 순입니다.
검사 순서가 핵심입니다. 15는 3으로 나누어떨어지므로, 3인지 먼저 검사하고 곧바로 "Fizz"를 반환하면 두 조건을 모두 만족하는 경우에 도달하지 못합니다. 두 조건을 결합한 규칙을 먼저 확인하세요. 3과 5 모두로 나누어떨어지는 숫자는 정확히 15로 나누어떨어지는 숫자입니다. 그런 다음 3인지, 다음으로 5인지 확인하고, 마지막에 해당 숫자 자체를 반환하세요.
전통적인 버전은 전체 수열을 출력합니다. 여기서는 한 번에 숫자 하나에 대해 답합니다. n이 주어지면, n번째 차례에 플레이어가 말하는 것을 반환하세요. 예를 들어 9번째 차례에는 "Fizz", 10번째 차례에는 "Buzz", 11번째 차례에는 "11"이라고 말합니다.
양의 정수 n을 입력받아 문자열을 반환하는 fizzBuzz라는 함수를 작성하세요. n이 3과 5 모두로 나누어떨어지면 "FizzBuzz"를, 3으로만 나누어떨어지면 "Fizz"를, 5로만 나누어떨어지면 "Buzz"를 반환하고, 그 외의 경우에는 n을 십진수 문자열로 반환하세요(예: "7").
제약 조건: 1 <= n <= 10^9.
함수
- arg1integer
- 반환값string
예제
- 입력
- arg1 = 15
- 출력
- "FizzBuzz"
- 입력
- arg1 = 7
- 출력
- "7"
제출 시 숨은 테스트 +11개
힌트
하나씩 열어 보세요. 열 때마다 조금 더 알려 줍니다.
나머지 연산자는 한 숫자가 다른 숫자로 나누어지는지 알려줍니다.
n을 3으로 나눈 나머지가 0일 때에만n은 3으로 나누어떨어집니다.15를 생각해 보세요. 15는 3으로도 나누어떨어지고 5로도 나누어떨어집니다. 15가
"FizzBuzz"가 되고"Fizz"가 되지 않으려면 어떤 검사를 먼저 실행해야 할까요?먼저 15로 나누어떨어지는지 확인한 다음, 3으로, 그다음 5로 나누어떨어지는지 확인하세요. 어느 것도 일치하지 않으면 숫자를 문자열로 변환하세요. 변환할 때 모든 자릿수가 기록되도록 하여, 10^9가 과학적 표기법이 아니라
"1000000000"로 출력되도록 하세요.
이 문제의 전체 풀이가 곧 추가됩니다.
비슷한 문제
같은 아이디어를 쓰는 문제입니다. 두세 개를 풀면 패턴이 몸에 익습니다.
Python
def fizzBuzz(n):
# 여기에 코드를 작성하세요케이스 1
케이스 2
입력
arg1 = 15
기대값
"FizzBuzz"