728x90

백준 파이썬 공부 2024.11.10

28702번 FizzBuzz

1. 문제
FizzBuzz 문제는 i = 1, 2, ...에 대해 다음 규칙에 따라 문자열을 한 줄에 하나씩 출력하는 문제입니다.

- i가 3의 배수이면서 5의 배수이면 “FizzBuzz”를 출력합니다.
- i가 3의 배수이지만 5의 배수가 아니면 “Fizz”를 출력합니다.
- i가 3의 배수가 아니지만 5의 배수이면 “Buzz”를 출력합니다.
- i가 3의 배수도 아니고 5의 배수도 아닌 경우 i를 그대로 출력합니다.

FizzBuzz 문제에서 연속으로 출력된 세 개의 문자열이 주어집니다. 
이때, 이 세 문자열 다음에 올 문자열은 무엇일까요?

2. 입력
FizzBuzz 문제에서 연속으로 출력된 세 개의 문자열이 한 줄에 하나씩 주어집니다. 
각 문자열의 길이는 8 이하입니다. 
입력이 항상 FizzBuzz 문제에서 연속으로 출력된 세 개의 문자열에 대응됨이 보장됩니다.

3. 출력
연속으로 출력된 세 개의 문자열 다음에 올 문자열을 출력하세요. 
여러 문자열이 올 수 있는 경우, 아무거나 하나 출력하세요.

4. 코드

fizzbuzz = []
for i in range(3):
    fizzbuzz.append(input())

for i in range(3):
    if fizzbuzz[i] not in ["FizzBuzz", "Fizz", "Buzz"]:
        num = int(fizzbuzz[i]) + 3 - i
        break

if num%3 == 0 and num%5 == 0:
    print("FizzBuzz")
elif num%3 == 0:
    print("Fizz")
elif num%5 == 0:
    print("Buzz")
else:
    print(num)



연속된 3개의 수라면, 결국 하나의 수는 그대로 출력됨.

 

ps. Fizz Buzz는 영국에서 아이들에게 나눗셈에 대해 가르치는 그룹 단어 게임이라고 한다.

5. 문제링크
https://www.acmicpc.net/problem/28702

728x90

+ Recent posts