# Coding Katas

This repository contains a project to house a collection of various "Coding Katas" and simple coding exercises/tests.

All Katas are written in C# and are covered by extensive unit tests using NUnit.

This solution is designed to be run from within the Visual Studio IDE using the unit tests as guidance for the correct implementation of the kata.

The Katas currently included are:

## Misc Katas

• Calculate a remainder (given a numerator and denominator)
• Calculate the factorial of a number (ie. input of 5 returns 5 x 4 x 3 x 2 x 1)
• Check if a given string is a palindrome WITHOUT using any built-in reverse functions.
• Countdown - Given a starting number, countdown from that number to 0. (i.e. "11" -> 11 10 9 8 7 6 5 4 3 2 1 0)
• Fibonacci Sequence - Return the correct Fibonacci number from the input provided.
• Find the maximum value in a list
• Find the minimum value in a list
• FizzBuzz (The classic fizzbuzz)
• Happy Numbers Kata
• Harry Potter Kata
• Parenthesis Checker Kata
• Return distinct values from a list including duplicates (i.e. "1 3 5 3 7 3 1 1 5" -> "1 3 5 7")
• Return distinct values and their counts (i.e. the list above becomes "1(3) 3(3) 5(2) 7(1)")
• Reverse a sentence ("bob likes dogs" -> "dogs likes bob")
• Reverse a string ("bobby" -> "ybbob") WITHOUT using any built-in reverse functions.
• Reverse Multiple Of Threes.
• Roman Numerals Kata
• Run Length Encoding
• Scrabble Scorer Kata
• String Calculator

## Osherove Katas

(Code Katas designed by Roy Osherove - http://osherove.com/)

• String Calculator Kata

(Note there's two String Calculator Katas. The Osherove one is the verbatim Kata by Roy Osherove, but the other one, whilst similar, is different.)