[LeetCode] Fizz Buzz

준규·2022년 12월 12일

1.문제


Given an integer n, return a string array answer (1-indexed) where:

  • 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.

n이 주어질 때 다음 조건들을 만족하는 길이 n의 배열 answer 를 리턴하는 문제이다.


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"]

Constraints:

  • 1 <= n <= 10^4

2.풀이

  1. n번 for문을 돈다.
  2. i에 대해 조건들을 체크해서 알맞은 값을 answer에 넣어준다.

/**
 * @param {number} n
 * @return {string[]}
 */
var fizzBuzz = function(n) {
    const answer = [];

    for(let i = 1; i <= n; i++) {
        if(i % 3 === 0 && i % 5 === 0) { // i 가 3과 5로 모두 나눠지는 경우
            answer.push('FizzBuzz');
        }else if(i % 3 === 0) { // i 가 3으로만 나눠지는 경우
            answer.push('Fizz')
        }else if(i % 5 === 0) { // i 가 5로만 나눠지는 경우
            answer.push('Buzz')
        }else { // 그 외의 경우
            answer.push(`${i}`)
        };
    }

    return answer
};

3.결과

profile
안녕하세요 :)

0개의 댓글