
FizzBuzz 문제는 에 대해 다음 규칙에 따라 문자열을 한 줄에 하나씩 출력하는 문제입니다.
가 의 배수이면서 의 배수이면 “FizzBuzz”를 출력합니다.
가 의 배수이지만 의 배수가 아니면 “Fizz”를 출력합니다.
가 의 배수가 아니지만 의 배수이면 “Buzz”를 출력합니다.
가 의 배수도 아니고 의 배수도 아닌 경우 를 그대로 출력합니다.
FizzBuzz 문제에서 연속으로 출력된 세 개의 문자열이 주어집니다.
이때, 이 세 문자열 다음에 올 문자열은 무엇일까요?
FizzBuzz 문제에서 연속으로 출력된 세 개의 문자열이 한 줄에 하나씩 주어집니다. 각 문자열의 길이는 이하입니다. 입력이 항상 FizzBuzz 문제에서 연속으로 출력된 세 개의 문자열에 대응됨이 보장됩니다.
연속으로 출력된 세 개의 문자열 다음에 올 문자열을 출력하세요. 여러 문자열이 올 수 있는 경우, 아무거나 하나 출력하세요.
3의 배수, 5의 배수, 15의 배수는 세 개의 문자열에 연속으로 올 수 없음.
-> 적어도 하나의 숫자가 존재하므로 그걸 이용하여 다음에 올 문자열을 유추.
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
char arr[3][9];
int n;
for (int i=0; i<3; i++) {
scanf("%s", arr[i]);
if ((strcmp(arr[i],"Fizz")!=0) && (strcmp(arr[i],"Buzz")!=0) && (strcmp(arr[i],"FizzBuzz")!=0))
n = atoi(arr[i])+3-i;
}
if (n%15==0)
printf("FizzBuzz");
else if (n%3==0)
printf("Fizz");
else if (n%5==0)
printf("Buzz");
else
printf("%d", n);
return 0;
}
for i in range(0,3):
x = input()
if x not in ['Fizz', 'Buzz', 'FizzBuzz']:
n = int(x)+3-i
if n%15==0:
print("FizzBuzz")
elif n%3==0:
print("Fizz")
elif n%5==0:
print("Buzz")
else:
print(n)