[백준 28702] FizzBuzz / 파이썬

권한·2026년 1월 2일

BOJ

목록 보기
32/40

조건은 이렇다.
난 FizzBuzz라는게 뭔지 잘 이해가 안가서 아래로 내려보니 힌트가 있다.
ii = 1, ..., 20까지 출력을 했을 때 위와 같은 결과가 나온다고 한다. 369와 비슷한듯 다르게 3과5의 배수, 3의 배수, 5의 배수일 때 숫자가 아니라 Fizz, Buzz, FizzBuzz의 문자열이 출력되는 것 같다. 이해했다.

아이디어

  1. 우선 3과 5의 배수, 3의 배수 또는 5의 배수가 연달아서 3개가 나올 수 있는 경우는 없을 것이다. 고려하지 않아도 된다.
  2. 1에 따라 입력에는 반드시 숫자가 1개 이상 포함된다. 문자열이 숫자로만 이루어진 경우 int형변환을 하여 다른 변수에 저장한다.
    -> 형변환을 하는 경우 4번째 숫자를 구하는 것이므로 첫번째 입력에서 +3, 두번째 입력에서 +2, 세번째 입력에서 +1을 하여 다른 변수에 저장한다.
  3. 조건을 따라 연산을 하고, 입력이 문자인 경우는 신경쓰지 않는다.
for n in range(3):
    i = input()
    if i.isnumeric():
        x = int(i) + 3 - n
if not x % 3 and not x % 5:
    t = "FizzBuzz"
elif not x % 3 and x % 5:
    t = "Fizz"
elif x % 3 and not x % 5:
    t = "Buzz"
else:
    t = x

print(t)
profile
티스토리로 옮김

0개의 댓글