피즈 버즈 Leetcode


난이도 쉽게
자주 묻는 질문 블룸버그 Microsoft

Fizz Buzz 문제에서 우리는 숫자 n을 지정했습니다. 주어진 조건에서 1에서 n까지의 숫자 표현 :

  1. 3의 배수로 "Fizz"를 인쇄합니다.
  2. 5의 배수로 "Buzz"를 인쇄합니다.
  3. 3과 5의 배수로 "FizzBuzz"를 인쇄합니다.
  4. 그렇지 않으면 숫자를 문자열 형식으로 인쇄하십시오.

입력:

N = 4

출력:

1

2

활기

4

Fizz Buzz 용 알고리즘

  1. 1부터 n까지의 숫자를 반복합니다 (루프 변수는 i).
  2. 모든 숫자에 대해 3과 5로 나눌 수 있다면 i % 3 = 0 및 i % 5 = 0을 클릭 한 다음 "FizzBuzz"를 인쇄하십시오.
  3. 그렇지 않으면 숫자가 3으로 나눌 수있는 경우 즉, i % 3 = 0을 클릭 한 다음 "Fizz"를 인쇄하십시오.
  4. 그렇지 않으면 숫자가 5으로 나눌 수있는 경우 즉, i % 5 = 0,“Buzz”를 인쇄하십시오.
  5. 그렇지 않으면 숫자를 문자열로 인쇄하십시오.

실시

Fizz Buzz Leetcode 용 C ++ 프로그램

#include<bits/stdc++.h>
using namespace std;
void fizzbuzz(int n){
    for(int i=1;i<=n;i++){
        if(i%3 == 0 && i%5==0){
            cout<<"Fizzbuzz\n";
        }
        else if(i%3 == 0){
            cout<<"Fizz\n";
        }
        else if(i%5 == 0){
            cout<<"Buzz\n";
        }
        else{
            cout<<to_string(i)<<"\n";
        }
    }
}
int main(){
    int n;
    cin>>n;
    fizzbuzz(n);
}
14
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14

Fizz Buzz Leetcode 용 JAVA 프로그램

import java.util.Scanner;
class Main { 
    static void fizzbuzz(int n){
        for(int i=1;i<=n;i++){
            if(i%3 == 0 && i%5==0){
                System.out.println("Fizzbuzz");
            }
            else if(i%3 == 0){
                System.out.println("Fizz");
            }
            else if(i%5 == 0){
                System.out.println("Buzz");
            }
            else{
                System.out.println(Integer.toString(i));
            }
        }
    }
  
    public static void main(String args[]) 
    { 
        int n;
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt();
        fizzbuzz(n);
    } 
}
7
1
2
Fizz
4
Buzz
Fizz
7

변화

4로 나눌 수있는 숫자에는 "Fizz"를, 8로 나눌 수있는 숫자에는 "Buzz"를 쓰고 유효한 답을 인쇄합니다. 이 경우 8로 나눌 수있는 숫자는 4이 8의 배수이므로 4로 나눌 수 있습니다. 따라서 8의 배수에서 "Fizz"또는 "Buzz"를 선택할 수 있으므로이 질문에 대해 여러 개의 유효한 답이있을 수 있습니다. 주의 깊게 관찰해도 4로 나눌 수있는 모든 숫자를“Fizz”로 바꿀 수 있습니다. 이것도 유효한 답이 될 것입니다.

참고 : 주어진 숫자가 서로 여러 개이면 유효한 답을 여러 개 가질 수 있음을 확인 했으므로이 질문을 해결하는 동안주의 깊게 관찰하십시오.

복잡성 분석

시간 복잡성

O (N) 여기서 n은 우리에게 주어진 숫자입니다. 문자열 형식을 인쇄하려면 1에서 N까지 모든 숫자를 한 번씩 탐색해야합니다.

공간 복잡성

O (1) 여분의 보조 공간을 사용하거나 만들지 않기 때문입니다.

참조