아래 링크의 강의 중 Section 7. The Classic FizzBuzz!
의 내용을 추려 이번 글을 작성하였습니다.
The Coding Interview Bootcamp: Algorithms + Data Structures on Udemy
function fizzBuzz(n) {
let arr = [];
for (let i = 1; i <= n; ++i) {
arr.push(i);
}
for (j = 0; j < arr.length; ++j) {
if (arr[j] % 3 === 0 && arr[j] % 5 === 0) {
arr[j] = "fizzbuzz";
} else if (arr[j] % 5 === 0) {
arr[j] = "buzz";
} else if (arr[j] % 3 === 0) {
arr[j] = "fizz";
}
console.log(arr[j]);
}
}
fizzBuzz(15);
function fizzBuzz(n) {
for (let i = 1; i <= n; ++i) {
// Is the number a multiple of 3 and 5?
if (i % 3 === 0 && i % 5 === 0) {
console.log("fizzbuzz");
} else if (i % 3 === 0) {
// Is the number a multiple of 3?
console.log("fizz");
} else if (i % 5 === 0) {
// Is the number a multiple of 5?
console.log("buzz");
} else {
console.log(i);
}
}
}
fizzBuzz(15);
이번 문제는 array
의 활용 여부를 제외하고
모범 답안과 나의 답안이 비슷하다.
모범 답안을 기준으로 실행 절차를 설명하자면,
for문
을 작성하여 출력 범위를 설정.if문
을 통해 3과 5의 공배수
라면 fizzbuzz
, 3의 배수
라면 fizz
, 5의 배수
라면 buzz
를 각각 출력하는 코드 작성.이번 문제의 핵심은 %(modulo)
연산자의 활용이었다.