FizzBuzz 
https://www.acmicpc.net/problem/28702
시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
0.5 초 | 1024 MB | 13102 | 8022 | 7260 | 61.593% |
문제
FizzBuzz 문제는 i=1,2,⋯ 에 대해 다음 규칙에 따라 문자열을 한 줄에 하나씩 출력하는 문제입니다.
- i가 3의 배수이면서 5의 배수이면 “
FizzBuzz
”를 출력합니다. - i가 3의 배수이지만 5의 배수가 아니면 “
Fizz
”를 출력합니다. - i가 3의 배수가 아니지만 5의 배수이면 “
Buzz
”를 출력합니다. - i가 3의 배수도 아니고 5의 배수도 아닌 경우 i를 그대로 출력합니다.
FizzBuzz 문제에서 연속으로 출력된 세 개의 문자열이 주어집니다.
이때, 이 세 문자열 다음에 올 문자열은 무엇일까요?
입력
FizzBuzz 문제에서 연속으로 출력된 세 개의 문자열이 한 줄에 하나씩 주어집니다.
각 문자열의 길이는 8 이하입니다. 입력이 항상 FizzBuzz 문제에서 연속으로 출력된 세 개의 문자열에 대응됨이 보장됩니다.
출력
연속으로 출력된 세 개의 문자열 다음에 올 문자열을 출력하세요.
여러 문자열이 올 수 있는 경우, 아무거나 하나 출력하세요.
예제 입력 1
Fizz Buzz 11
예제 출력 1
Fizz
예제 입력 2
980803 980804 FizzBuzz
예제 출력 2
980806
힌트
FizzBuzz 문제의 i = 1 ,⋯, 20에 대한 출력은 다음과 같습니다.
1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz 16 17 Fizz 19 Buzz
출처
Contest > solved.ac > solved.ac Grand Arena #2 B번
- 문제를 검수한 사람: ai4youej, bnb2011, chansol, cologne, cozyyg, gs18115, havana723, jh05013, moonrabbit2, pichulia, shiftpsh
- 문제를 만든 사람: cologne, solvedac
알고리즘 분류
통과된 코드
#include <iostream> #include <string> using namespace std; string Input[3]; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); for (int i = 0; i < 3; i++) cin >> Input[i]; for (int i = 0; i < 3; i++) { if (Input[i][0] == 'F' || Input[i][0] == 'B') continue; int Num = stoi(Input[i]) + 3 - i; if (Num % 15 == 0) cout << "FizzBuzz"; else if (Num % 5 == 0) cout << "Buzz"; else if (Num % 3 == 0) cout << "Fizz"; else cout << Num; return 0; } cout << "FizzBuzz"; return 0; }
