Skip to content

Latest commit

 

History

History
40 lines (29 loc) · 1.33 KB

풀이_LC412.md

File metadata and controls

40 lines (29 loc) · 1.33 KB

⛳️ 412. Fizz Buzz

  • Date : 2021.09.12(일)
  • Time : 20분

Problem

  • 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 if non of the above conditions are true.

Constraints

  • 1 <= n <= 10^4

Example

  • Input: n = 5
  • Output: ["1","2","Fizz","4","Buzz"]



풀이

    def fizzBuzz(self, n: int) -> List[str]:
        answer = []
        for i in range(1,n+1):
            strAnswer = ""
            
            if i%3 == 0: strAnswer += "Fizz"
            if i%5 == 0: strAnswer += "Buzz"
            if strAnswer == "": strAnswer = str(i)
                
            answer.append(strAnswer)
            
        return answer
        

: 이 문제는 처음에는 if-else 문으로 풀었다가 수정한 문제이다. 그 이유는 3,5로 다 나눠지면 "FizzBuzz", 3으로만 나눠진다면 "Fizz", 5로만 나눠진다면 "Buzz" 이렇게 공통점이 있었기 때문이다. 그래서 for문을 돌면서 string에 적립해서 저장하는 방식으로 변경해보았다. 그리고 문자열이 비어있다는 것은 3,5에서 걸리지 않았다는 뜻이므로 i 자체를 문자열로 저장해주면 된다!