Given an integer n, return a string array answer (1-indexed) where:
給予一個整數 n,回傳字對應字串的陣列答案,需符合以下條件: 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. ex.當 n 符合 15, 3, 5 的倍數時,回傳對應的字串,否則回傳原序列的數值。
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"]
solution:
1. 宣告一個 ans 陣列。
2. 透過 for 迴圈執行 n 個次數。
3. 使用 if 條件,如下:
- i % 15 === 0 //ans[n] = 'FizzBuzz' - i % 5 === 0 //ans[n] = 'Buzz' - i % 3 === 0 //ans[n] = 'Fizz'
4. 如不符合上述條件,則回傳當前的 n 值。
Code 1:
var fizzBuzz = function(n) { let ans = [] for (let i = 1; i <= n; i++) { if (i % 15 === 0) { ans.push('FizzBuzz') } else if (i % 5 === 0) { ans.push('Buzz') } else if (i % 3 === 0) { ans.push('Fizz') } else { ans.push(i + '') } } return ans; };
FlowChart:
Example 1
Input: n = 3 i = 1 //1 i = 2 //2 i = 3 //'Fizz' return ans //["1","2","Fizz"]
Example 2
Input: n = 5 i = 1 //1 i = 2 //2 i = 3 //'Fizz' i = 4 //'4' i = 5 //'Buzz' return ans //["1","2","Fizz","4","Buzz"]
Example 3
Input: n = 15 i = 1 //1 i = 2 //2 i = 3 //'Fizz' i = 4 //'4' i = 5 //'Buzz' i = 6 //'Fizz' i = 7 //7 i = 8 //8 i = 9 //'Fizz' i = 10 //'Buzz' i = 11 //11 i = 12 //'Fizz' i = 13 //13 i = 14 //14 i = 15 //'FizzBuzz' return ans //["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14","FizzBuzz"]