https://www.acmicpc.net/problem/28702
문제를 이해하는 것이 어려웠다.
연속되는 세 개의 정수가 있고, 해당 정수에 대응하는(조건에 따라 만들어진) 문자열 세 개가 입력값으로 주어지는 것이다. 그런데 문제에는 연속되는 세 개의 정수라는 말이 없어서 예제를 보고 유추해야 했다.
연속되는 세 개의 정수에는 3의 배수, 5의 배수, 15의 배수가 모두 포함될 수는 없다. 따라서 적어도 한 문자열은 대응되는 수가 3의 배수도, 5의 배수도 아니어서 그 수 그대로 주어진다.
그 수를 이용해서 세 문자열 다음에 올 문자열을 구했다.
#include <iostream>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int num = 0;
string ans;
string s[3];
for(int i=0; i<3; i++) cin >> s[i];
for(int i=0; i<3; i++) {
if(s[i][0] != 'F' && s[i][0] != 'B') {
num = stoi(s[i]) + 3 - i;
}
}
if(num % 15 == 0) ans = "FizzBuzz";
else if(num % 3 == 0) ans = "Fizz";
else if(num % 5 == 0) ans = "Buzz";
else ans = to_string(num);
cout << ans;
return 0;
}