Algorithm
[LeetCode/Swift] 412. Fizz Buzz
개발자 수니
2024. 1. 3. 22:39
728x90
반응형
💡 문제 (Easy)
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.
Example 1:
Input: n = 3
Output: ["1","2","Fizz"]
Example 2:
Input: n = 5
Output: ["1","2","Fizz","4","Buzz"]
Example 3:
Input: n = 15
Output: ["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz","11","Fizz","13","14","FizzBuzz"]
Constraints:
1 <= n <= 104
👩🏻💻 해결
1차 : switch문 사용
class Solution {
func fizzBuzz(_ n: Int) -> [String] {
var results: [String] = []
for num in 1...n {
switch (num % 3, num % 5) {
case (0,0): results.append("FizzBuzz")
case (0, _): results.append("Fizz")
case (_, 0): results.append("Buzz")
default: results.append(String(num))
}
}
return results
}
}
2차 : if문 사용
class Solution {
func fizzBuzz(_ n: Int) -> [String] {
var results: [String] = []
for num in 1...n {
var result: String = ""
if num % 3 == 0 {
result += "Fizz"
}
if num % 5 == 0 {
result += "Buzz"
}
if result.isEmpty {
result = String(num)
}
results.append(result)
}
return results
}
}
728x90
반응형