[412. Fizz Buzz] (https://leetcode.com/problems/fizz-buzz/)
if
a basic solution with if
class Solution:
def fizzBuzz(self, n: int) -> List[str]:
list = []
for i in range(1, n+1):
if i%15==0:
list.append("FizzBuzz")
elif i%5==0:
list.append("Buzz")
elif i%3==0:
list.append("Fizz")
else:
list.append(str(i))
return list
list comprehension
make each conditions as a flag with true or false.
class Solution:
def fizzBuzz(self, n: int) -> List[str]:
return [str(i) * (i % 3 != 0 and i % 5 != 0) + "Fizz" * (i % 3 == 0) + "Buzz" * (i % 5 == 0) for i in range(1, n + 1)]
define function
it's the slowest.
class Solution:
def fillList(self, n):
if n%15==0:
return "FizzBuzz"
elif n%5==0:
return "Buzz"
elif n%3==0:
return "Fizz"
else:
return str(n)
def fizzBuzz(self, n: int) -> List[str]:
list = []
for i in range(1, n+1):
list.append(self.fillList(i))
return list
In comparison with Java
class Solution {
public String fillList(int n){
if(n%15==0) return "FizzBuzz";
else if(n%3==0) return "Fizz";
else if(n%5==0) return "Buzz";
else return Integer.toString(n);
}
public List<String> fizzBuzz(int n) {
List<String> res = new ArrayList<String>();
for(int i=1; i<=n; i++){
res.add(fillList(i));
}
return res;
}
}
'Algorithm > LeetCode' 카테고리의 다른 글
[Python3] 1672. Richest Customer Wealth (0) | 2022.08.25 |
---|---|
[Python3] 1480. Running Sum of 1d Array (0) | 2022.08.24 |