Algorithm

[LeetCode/Swift] 412. Fizz Buzz

개발자 수니 2024. 1. 3. 22:39
728x90
반응형

💡 문제 (Easy)

 

Fizz Buzz - LeetCode

Can you solve this real interview question? Fizz Buzz - 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

leetcode.com

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
반응형