본문 바로가기

Baekjoon/C++

[C++][BOJ/백준] 28702 FizzBuzz

 

 

Baekjoon Online Judge

 

클릭 시 문제로 이동

 

 

[문제]

FizzBuzz 문제는 i=1,2,⋯ 에 대해 다음 규칙에 따라 문자열을 한 줄에 하나씩 출력하는 문제입니다.

 

 - i가 3의 배수이면서 5의 배수이면 “FizzBuzz”를 출력합니다.

 - i가 3의 배수이지만 5의 배수가 아니면 “Fizz”를 출력합니다.

 - i가 3의 배수가 아니지만 5의 배수이면 “Buzz”를 출력합니다.

 - i가 3의 배수도 아니고 5의 배수도 아닌 경우 i를 그대로 출력합니다.

 

FizzBuzz 문제에서 연속으로 출력된 세 개의 문자열이 주어집니다. 이때, 이 세 문자열 다음에 올 문자열은 무엇일까요?

 

 

[입력]

FizzBuzz 문제에서 연속으로 출력된 세 개의 문자열이 한 줄에 하나씩 주어집니다. 각 문자열의 길이는 8 이하입니다. 입력이 항상 FizzBuzz 문제에서 연속으로 출력된 세 개의 문자열에 대응됨이 보장됩니다.

 

 

[출력]

연속으로 출력된 세 개의 문자열 다음에 올 문자열을 출력하세요. 여러 문자열이 올 수 있는 경우, 아무거나 하나 출력하세요.

 

 


 

[코드]

#include <iostream>
#include <string>
using namespace std;

int main()
{
    string s;

    for (int i = 0; i < 3; i++)
    {
        cin >> s;

        if (s[0] == 'F' || s[0] == 'B')
            continue;

        int n = stoi(s) + 3 - i;

        if (n % 3 == 0 && n % 5 == 0)
        {
            cout << "FizzBuzz" << '\n';
        }
        else if (n % 3 == 0)
        {
            cout << "Fizz" << '\n';
        }
        else if (n % 5 == 0)
        {
            cout << "Buzz" << '\n';
        }
        else
        {
            cout << n << '\n';
        }

        break;
    }

    return 0;
}

 

 

 

'Baekjoon > C++' 카테고리의 다른 글

[C++][BOJ/백준] 1026 보물  (0) 2025.04.06
[C++][BOJ/백준] 1065 한수  (0) 2025.03.22
[C++][BOJ/백준] 16395 파스칼의 삼각형  (0) 2025.03.20
[C++][BOJ/백준] 10799 쇠막대기  (0) 2025.03.12
[C++][BOJ/백준] 1874 스택 수열  (0) 2025.03.08