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.
완전 유명한 피즈버즈 문제, 그 유명한 프론트엔드 개발자 인터뷰에도 이 문제가 껴있다.
Example 1:
Input: n = 3
Output: ["1","2","Fizz"]
Example 2:
Input: n = 5
Output: ["1","2","Fizz","4","Buzz"]
Example 3:
Input: n = 15
Output: ["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14","FizzBuzz"]
Constraints:
- 1 <= n <= 104
내 풀이
class Solution:
def fizzBuzz(self, n: int) -> List[str]:
arr = []
for val in range(n + 1):
s = ''
if (val == 0):
continue
if (val % (3*5) == 0):
s = 'FizzBuzz'
arr.append(s)
elif (val % 3 == 0):
s = 'Fizz'
arr.append(s)
elif (val % 5 == 0):
s = 'Buzz'
arr.append(s)
else:
s = str(val)
arr.append(s)
return arr
아주 초보적이고 정직한 풀이법이다.. 알고리즘 풀이같지 않은 그런 느낌
다른사람 풀이
def fizzBuzz(self, n):
return ['Fizz' * (not i % 3) + 'Buzz' * (not i % 5) or str(i) for i in range(1, n+1)]
진짜 짧고 간결하네..파이썬 문법에 더 익숙하게 되면 더 잘할 수 있겠지..
'💻 LEETCODE' 카테고리의 다른 글
[LEETCODE] 876. Middle of The Linked List (0) | 2022.11.22 |
---|---|
[LEETCODE] 1342. Number of Steps to Reduce a Number to Zero (0) | 2022.11.16 |
[LEETCODE] 1672. Richest Customer Wealth (0) | 2022.11.15 |
[LEETCODE] 1480. Running Sum of 1d Array (0) | 2022.11.15 |
[LEETCODE] 도망친 곳에 낙원은 없다. (0) | 2022.11.15 |
댓글