SW 정글/알고리즘

[String] 412. Fizz Buzz

삼월은마치 2024. 10. 23. 14:14

https://leetcode.com/problems/fizz-buzz/description/

 

 

Given an integer n, return a string array answer (1-indexed) where:

  • answer[i] == "FizzBuzz" if i is divisible by 3 and 5.
  • answer[i] == "Fizz" if i is divisible by 3.
  • answer[i] == "Buzz" if i is divisible by 5.
  • answer[i] == i (as a string) if none of the above conditions are true.
더보기

 

  • 1부터 n까지의 숫자를 순서대로 출력합니다.
  • 각 숫자에 대해 다음 규칙을 따릅니다:
    • 숫자가 3의 배수일 경우: "Fizz" 출력
    • 숫자가 5의 배수일 경우: "Buzz" 출력
    • 숫자가 3과 5의 공배수(15의 배수)일 경우: "FizzBuzz" 출력
    • 위 조건에 해당하지 않는 숫자일 경우: 숫자 그대로 출력

 

3,6,9게임이 떠오르는 문제

수가 3, 6, 9가 들어가면 박수를 치고 33이면 박수를 두 번 쳐야 하니까


class Solution:
    def fizzBuzz(self, n: int) -> List[str]:
        result = []
        for i in range(1, n+1):
            if i % 15 == 0:
                result.append("FizzBuzz")
            elif i % 5 == 0:
                result.append("Buzz")
            elif i % 3 == 0:
                result.append("Fizz")
            else:
                result.append(str(i)) # int -> str
        
        return result

 

빈 리스트 result [] 를 만들고 for문을 돌면서 하나하나 추가해 주면 된다.

 


 

+) 이건 그냥 리트코드 세팅보다가 파이썬 문법이 신기해서 참고용