Problem
- Return an array containing the numbers from 1 to N, where N is the parametered value.
- 1부터 N까지의 숫자가 포함된 배열을 반환한다.
- Replace certain values however if any of the following conditions are met:
- 하지만 다음 조건 중 하나가 충족되는 경우, 특정 값으로 대체한다.
- If the value is a multiple of 3: use the value ‘Fizz’ instead.
- 값이 3의 배수라면, 값을 ‘Fizz’로 대체한다.
- If the value is a multiple of 5: use the value ‘Fizz’ instead.
- 값이 5의 배수라면, 값을 ‘Buzz’로 대체한다.
- If the value is a multiple of 3 & 5: use the value ‘FizzBuzz’ instead.
- 값이 3과 5의 배수라면, 값을 ‘FizzBuzz’로 대체한다.
Solution 01
function fizzbuzz(n) {
let result = [];
for (let i = 1; i <= n; i++) {
let temp = '';
if (i % 3 === 0) temp += 'Fizz';
if (i % 5 === 0) temp += 'Buzz';
result.push(temp.length === 0 ? i : temp);
}
return result;
}
fizzbuzz(5); // [1, 2, 'Fizz', 4, 'Buzz']
fizzbuzz(15); // [1, 2, 'Fizz', 4, 'Buzz', 'Fizz', 7, 8, 'Fizz', 'Buzz', 11, 'Fizz', 13, 14, 'FizzBuzz']
push()
: 배열의 끝에 새 element를 추가하고, 새로운 길이를 반환한다.
Solution 02
function fizzbuzz(n) {
let result = [];
for (let i = 1; i <= n; i++) {
let temp = '';
if (i % 3 === 0) temp += 'Fizz';
if (i % 5 === 0) temp += 'Buzz';
result.push(temp || i);
}
return result;
}
fizzbuzz(5); // [1, 2, 'Fizz', 4, 'Buzz']
fizzbuzz(15); // [1, 2, 'Fizz', 4, 'Buzz', 'Fizz', 7, 8, 'Fizz', 'Buzz', 11, 'Fizz', 13, 14, 'FizzBuzz']