3 ms·
I just googled around for that, and here's a brutish one in Ruby: https://gist.github.com/3230825 https://gist.github.com/3230825 And because I had to fiddle a
by a_bonobo 14y ago
I just googled around for that, and here's a brutish one in Ruby: https://gist.github.com/3230825 https://gist.github.com/3230825
And because I had to fiddle around manually to understand it (not good at Ruby's inbuilt methods) here's how it works: It generates two long arrays, one containing "Fizz" every third element, and one containing "Buzz" every five elements, the rest is filled up with nils.
Then it iterates over 1 to 100 and zips the two arrays at that position together - if the "zipped together" sum of both arrays is nil, that number is printed, else the concatenated string of both arrays at that position is printed (example: "Fizz" + nil = "Fizz"). Neat!
Edit: I also found a great one using flip-flops: https://gist.github.com/3230984 https://gist.github.com/3230984
- yen223 14y agoThat is actually a rather clever solution. I guess you could do the same in Python, using itertools. That said, I guess I should rephrase my question: Is there a simple programming test that can help weed out fakers quickly, which does not involve mathematics? Sort of like "Deploy a simple CRUD app in 15 mins" or something? This is to address the parent's concern that a lot of web apps out there don't actually require much mathematics.
- freework 14y agoI did a coding interview problem once where the company gave me an API endpoint that spat out JSON representing products, and told me to build a page that displays those objects onto a page with infinite scroll. As you scrolled down to the bottom of the page it would load more products.
- a_bonobo 14y agoFor completion's sake, yes you can do that in Python, it's just slightly uglier (as far as I know) using ''.join(filter(None, [a, b])) and itertools.cycle([None, None, 'Fizz']) itertools.cycle([None, None, None, None, 'Buzz'])