알고리즘 모음(C++)

백준 28702 - FizzBuzz(C++) 본문

백준

백준 28702 - FizzBuzz(C++)

공대생의 잡다한 사전 2024. 7. 6. 11:32
문제 링크입니다. https://www.acmicpc.net/problem/28702

 

연속된 세 문자가 주어질 때, 다음에 올 문자를 구하는 문제입니다.

예를 들어, Fizz, Buzz, 11이 주어졌다면, 순서대로 (9, 10, 11)에 해당하는 수입니다.

따라서, 9는 Fizz, 10은 Buzz가 됩니다.

 

Fizz, Buzz, FizzBuzz가 한번에 나오는 일은 생기지 않습니다.

그렇다면, 3개의 문자 중, 숫자를 찾아서 해당 숫자를 기준으로 답을 출력해주면 되겠습니다.

 

자세한 것은 코드를 참고해주세요.

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstdio>
#include <vector>
#include <algorithm>
#include <queue>
#include <cmath>
#include <cstring>

using namespace std;

int main() {
	cin.tie(0);
	cout.tie(0);
	string a, b, c;
	cin >> a >> b >> c;
	if(a[a.size() - 1] != 'z'){
		int next = stoi(a) + 3;
		if(next % 3== 0 && next % 5 == 0){
			cout << "FizzBuzz";
		}
		else if(next % 3 == 0) cout << "Fizz";
		else if(next % 5 == 0) cout << "Buzz";
		else cout << next;
	}
	else if(b[b.size() - 1] != 'z'){
		int next = stoi(b) + 2;
		if(next % 3== 0 && next % 5 == 0){
			cout << "FizzBuzz";
		}
		else if(next % 3 == 0) cout << "Fizz";
		else if(next % 5 == 0) cout << "Buzz";
		else cout << next;
	}
	else{
		int next = stoi(c) + 1;
		if(next % 3== 0 && next % 5 == 0){
			cout << "FizzBuzz";
		}
		else if(next % 3 == 0) cout << "Fizz";
		else if(next % 5 == 0) cout << "Buzz";
		else cout << next;
	}
	return 0;
}

 

 

질문 및 조언은 댓글을 남겨주세요.

'백준' 카테고리의 다른 글

백준 30802 - 웰컴키트(C++)  (0) 2024.07.06
백준 31403 - A + B - C(C+)  (0) 2024.07.06
백준 14268 - 회사 문화 2(C++)  (1) 2024.06.08
백준 14245 - XOR(C++)  (0) 2024.06.07
백준 12844 - XOR(C++)  (0) 2024.06.07