diff --git a/config.json b/config.json index 629de261696..6453d91ac8e 100644 --- a/config.json +++ b/config.json @@ -27,6 +27,16 @@ "logic" ] }, + { + "uuid": "d39f86fe-db56-461c-8a93-d87058af8366", + "slug": "reverse-string", + "core": false, + "unlocked_by": null, + "difficulty": 1, + "topics": [ + "strings" + ] + }, { "uuid": "d1a98c79-d3cc-4035-baab-0e334d2b6a57", "slug": "isogram", diff --git a/exercises/reverse-string/README.md b/exercises/reverse-string/README.md new file mode 100644 index 00000000000..d6e1654e2c9 --- /dev/null +++ b/exercises/reverse-string/README.md @@ -0,0 +1,9 @@ +# Reverse String +Reverse a string + +For example: +input: "cool" +output: "looc" + +## Submitting Incomplete Solutions +It's possible to submit an incomplete solution so you can see how others have completed the exercise. diff --git a/exercises/reverse-string/example.py b/exercises/reverse-string/example.py new file mode 100644 index 00000000000..85dcb263009 --- /dev/null +++ b/exercises/reverse-string/example.py @@ -0,0 +1,2 @@ +def reverse(input=''): + return input[::-1] diff --git a/exercises/reverse-string/reverse_string.py b/exercises/reverse-string/reverse_string.py new file mode 100644 index 00000000000..0150cb76887 --- /dev/null +++ b/exercises/reverse-string/reverse_string.py @@ -0,0 +1,2 @@ +def reverse(input=''): + pass diff --git a/exercises/reverse-string/reverse_string_test.py b/exercises/reverse-string/reverse_string_test.py new file mode 100644 index 00000000000..e5b934dbcbc --- /dev/null +++ b/exercises/reverse-string/reverse_string_test.py @@ -0,0 +1,26 @@ +import unittest + +from reverse_string import reverse + + +# Tests adapted from `problem-specifications//canonical-data.json` @ v1.0.1 + +class ReverseStringTests(unittest.TestCase): + def empty_string(self): + self.assertEqual(reverse(''), '') + + def a_word(self): + self.assertEqual(reverse('robot'), 'tobor') + + def a_capitalized_word(self): + self.assertEqual(reverse('Ramen'), 'nemaR') + + def a_sentence_with_punctuation(self): + self.assertEqual(reverse('I\'m hungry!'), '!yrgnuh m\'I') + + def a_palindrome(self): + self.assertEqual(reverse('racecar'), 'racecar') + + +if __name__ == '__main__': + unittest.main()