Given an integer n, return a string array answer (1-indexed) where:
answer[i] == "FizzBuzz" if i is divisible by 3 and 5.
answer[i] == "Fizz" if i is divisible by 3.
answer[i] == "Buzz" if i is divisible by 5.
answer[i] == i (as a string) if none of the above conditions are true.
Input: n = 3
Output: ["1","2","Fizz"]
Input: n = 5
Output: ["1","2","Fizz","4","Buzz"]
Input: n = 15
Output: ["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14","FizzBuzz"]
Fizz는 3으로 나눠지는 수, Buzz는 5로 나눠지는 수, FizBuzz는 3과 5의 공배수로, 두 약수로 모두 나누어 진다.
class Solution
{
public:
vector<string> fizzBuzz(int n)
{
vector<string> answer;
string fizz = "Fizz";
string buzz = "Buzz";
for (int i = 1; i <= n; i++)
{
if (i % 3 == 0 && i % 5 != 0)
{
answer.push_back(fizz);
}
else if (i % 3 != 0 && i % 5 == 0)
{
answer.push_back(buzz);
}
else if (i % 3 == 0 && i % 5 == 0)
{
answer.push_back(fizz + buzz);
}
else{
answer.push_back(to_string(i));
}
}
return answer;
}
};