피즈 버즈 Leetcode

난이도 쉽게
자주 묻는 질문 블룸버그 게시물에서 Microsoft
알고리즘 코딩 인터뷰 인터뷰 준비 리트코드 LeetCodeSolutions 조회수 60

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) 여분의 보조 공간을 사용하거나 만들지 않기 때문입니다.

참조

코멘트를 남겨

Translate »