forked from mohitjain/leetcode_solutions
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path412_fizz_buzz.rb
More file actions
53 lines (49 loc) · 1.08 KB
/
412_fizz_buzz.rb
File metadata and controls
53 lines (49 loc) · 1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# Leetcode Problem: https://leetcode.com/problems/fizz-buzz/
# Write a program that outputs the string representation of numbers from 1 to n.
#
# But for multiples of three it should output “Fizz” instead of the number and for the multiples of five output “Buzz”. For numbers which are multiples of both three and five output “FizzBuzz”.
#
# Example:
#
# n = 15,
#
# Return:
# [
# "1",
# "2",
# "Fizz",
# "4",
# "Buzz",
# "Fizz",
# "7",
# "8",
# "Fizz",
# "Buzz",
# "11",
# "Fizz",
# "13",
# "14",
# "FizzBuzz"
# ]
# ----------------------------------------------------------------------------------------------------------------------
# @param {Integer} n
# @return {String[]}
def fizz_buzz(n)
mappings = {
'3' => 'Fizz',
'5' => 'Buzz'
}
output = []
n.times.each do |index|
num = index + 1
data = ""
mappings.keys.each do |mapping|
if (num % mapping.to_i).zero?
data += mappings[mapping]
end
end
data = data == "" ? num.to_s : data
output.push data
end
output
end