[JS] FizzBuzz loop 구현하기

nemo·2022년 3월 9일
0

JavaScript

목록 보기
11/23

FizzBuzz란?

FizzBuzz는 영미권에서 아이들이 나눗셈에 대해 배우기 위해 하는 게임이다. 이 게임은 프로그래밍을 처음 배울 때 조건문에서 다뤄지곤 한다. 때문에 개발자 인터뷰에서 종종 테스트 문제로도 등장한다.
1~100까지 숫자 중 3의 배수는 "Fizz", 5의 배수는 "Buzz", 3과 5의 배수는 "FizzBuzz"로 출력해야 한다. 간단해 보일 수 있지만 노련한 개발자도 때론 잘못 이해하는 경우가 있다고 한다.


Solution 1. 기본 조건문

for (let i = 1; i <= 100; i++) {
  if (i % 15 === 0) {
    // 15(3*5)의 배수
    console.log("FizzBuzz");
  } else if (1 % 3 === 0) {
    // 3의 배수
    console.log("Fizz");
  } else if (1 % 5 === 0) {
    // 5의 배수
    console.log("Buzz");
  } else {
    console.log(i);
  }
}

Solution 2. 삼항연산자

for (let i = 1; i <= 100; i++) {
  console.log(
  	(i % 3 ? '' : 'fizz')
    + ( i % 5 ? '' : 'buzz')
    || i
  )
}

Solution 3. 삼항연산자 응용

for (let i = 1; i <= 100; i++) {
  let FIZZ = i % 3 == 0;
  let BUZZ = i % 5 == 0;

  console.log(
    FIZZ 
    ? (BUZZ ? "FizzBuzz" : "Fizz")
    : (BUZZ ? "Buzz" : i)
  )
}

그 외 여러 개발자들의 해결 방법 확인은 👉 여기 👈

0개의 댓글