백준 28702번 : FizzBuzz

M1ndCon·2024년 7월 1일
0

Algorithm

목록 보기
14/32

  • Solved.ac 기준 : 브론즈 1
  • 사용언어 C++

문제 해석 및 풀이

  • 조건만 나눠서 고려하면 간단한 문제
  • i % 3 == 0 && i % 5 == 0 -> FizzBuzz => i
  • i % 3 == 0 && i % 5 != 0 -> Fizz
  • i % 3 != 0 && i % 5 == 0 -> Buzz
  • i % 3 != 0 && i % 5 != 0 -> i
  • 셋 중 하나는 숫자로 입력 받으므로 아스키 코드를 이용하면 상대적으로 쉽게 계산 가능
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;

int main() {
    cin.tie(NULL);
    ios_base::sync_with_stdio(false);

    string a, b, c;
    cin >> a >> b >> c;
    if (c[0] >= 48 && c[0] <= 57) {
        int x = stoi(c) + 1;
        if (x % 3 == 0) {
            if (x % 5 == 0) {
                cout << "FizzBuzz";
            }
            else {
                cout << "Fizz";
            }
        }
        else if (x % 5 == 0) {
            cout << "Buzz";
        }
        else {
            cout << x;
        }
    }
    else if (b[0] >= 48 && b[0] <= 57) {
        int x = stoi(b) + 2;
        if (x % 3 == 0) {
            if (x % 5 == 0) {
                cout << "FizzBuzz";
            }
            else {
                cout << "Fizz";
            }
        }
        else if (x % 5 == 0) {
            cout << "Buzz";
        }
        else {
            cout << x;
        }
    }
    else if (a[0] >= 48 && a[0] <= 57) {
        int x = stoi(a) + 3;
        if (x % 3 == 0) {
            if (x % 5 == 0) {
                cout << "FizzBuzz";
            }
            else {
                cout << "Fizz";
            }
        }
        else if (x % 5 == 0) {
            cout << "Buzz";
        }
        else {
            cout << x;
        }
    }

    return 0;
}
profile
게임 개발자 지망생

0개의 댓글