https://www.acmicpc.net/problem/28702
#include <iostream>
#include <string>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
// 각 문자열의 길이는 8 이하입니다.
string a, b, c;
// FizzBuzz 문제에서 연속으로 출력된 세 개의 문자열이
// 한 줄에 하나씩 주어집니다.
// 입력이 항상 FizzBuzz 문제에서 연속으로 출력된
// 세 개의 문자열에 대응됨이 보장됩니다.
cin >> a >> b >> c;
// 연속으로 출력된 세 개의 문자열 다음에 올 문자열을 출력하세요.
// 여러 문자열이 올 수 있는 경우, 아무거나 하나 출력하세요.
// 입력받은 a, b, c 중 반드시 하나는 숫자 (3의 배수인지 확인하기 때문)
// 숫자인지 확인
if (c[0] >= '0' && c[0] <= '9') {
// c 다음에 올 문자 x
int x = stoi(c) + 1;
if (x % 3 == 0) {
// i가 3의 배수이면서 5의 배수이면 “FizzBuzz”를 출력합니다.
if (x % 5 == 0) {
cout << "FizzBuzz";
}
// i가 3의 배수이지만 5의 배수가 아니면 “Fizz”를 출력합니다.
else {
cout << "Fizz";
}
}
// i가 3의 배수가 아니지만 5의 배수이면 “Buzz”를 출력합니다.
else if (x % 5 == 0) {
cout << "Buzz";
}
// i가 3의 배수도 아니고 5의 배수도 아닌 경우 i를 그대로 출력합니다.
else {
cout << x;
}
}
else if (b[0] >= '0' && b[0] <= '9') {
// c 다음에 올 문자 x
int x = stoi(b) + 2;
if (x % 3 == 0) {
// i가 3의 배수이면서 5의 배수이면 “FizzBuzz”를 출력합니다.
if (x % 5 == 0) {
cout << "FizzBuzz";
}
// i가 3의 배수이지만 5의 배수가 아니면 “Fizz”를 출력합니다.
else {
cout << "Fizz";
}
}
// i가 3의 배수가 아니지만 5의 배수이면 “Buzz”를 출력합니다.
else if (x % 5 == 0) {
cout << "Buzz";
}
// i가 3의 배수도 아니고 5의 배수도 아닌 경우 i를 그대로 출력합니다.
else {
cout << x;
}
}
else if (a[0] >= '0' && a[0] <= '9') {
// c 다음에 올 문자 x
int x = stoi(a) + 3;
if (x % 3 == 0) {
// i가 3의 배수이면서 5의 배수이면 “FizzBuzz”를 출력합니다.
if (x % 5 == 0) {
cout << "FizzBuzz";
}
// i가 3의 배수이지만 5의 배수가 아니면 “Fizz”를 출력합니다.
else {
cout << "Fizz";
}
}
// i가 3의 배수가 아니지만 5의 배수이면 “Buzz”를 출력합니다.
else if (x % 5 == 0) {
cout << "Buzz";
}
// i가 3의 배수도 아니고 5의 배수도 아닌 경우 i를 그대로 출력합니다.
else {
cout << x;
}
}
return 0;
}
https://khyunx.tistory.com/268
https://blockdmask.tistory.com/333
'알고리즘 > solved.ac CLASS 2' 카테고리의 다른 글
2108번: 통계학 (0) | 2024.06.26 |
---|---|
18110번: solved.ac (0) | 2024.06.25 |
11651번: 좌표 정렬하기 2 (0) | 2024.06.18 |
1676번: 팩토리얼 0의 개수 (0) | 2024.06.16 |
30802번: 웰컴 키트 (1) | 2024.06.14 |