Skip to content

Commit

Permalink
Add reverse-string
Browse files Browse the repository at this point in the history
  • Loading branch information
BNAndras committed Dec 28, 2023
1 parent 09e701e commit 8a6d24a
Show file tree
Hide file tree
Showing 7 changed files with 103 additions and 0 deletions.
8 changes: 8 additions & 0 deletions config.json
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,14 @@
"practices": [],
"prerequisites": [],
"difficulty": 2
},
{
"slug": "reverse-string",
"name": "Reverse String",
"uuid": "963aeaed-a2d5-40e5-8f04-f17f404b5304",
"practices": [],
"prerequisites": [],
"difficulty": 2
}
]
},
Expand Down
7 changes: 7 additions & 0 deletions exercises/practice/reverse-string/.docs/instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Instructions

Reverse a string

For example:
input: "cool"
output: "looc"
19 changes: 19 additions & 0 deletions exercises/practice/reverse-string/.meta/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"authors": [
"BNAndras"
],
"files": {
"solution": [
"reverse_string.gd"
],
"test": [
"reverse_string_test.gd"
],
"example": [
".meta/example.gd"
]
},
"blurb": "Reverse a string.",
"source": "Introductory challenge to reverse an input string",
"source_url": "https://medium.freecodecamp.org/how-to-reverse-a-string-in-javascript-in-3-different-ways-75e4763c68cb"
}
5 changes: 5 additions & 0 deletions exercises/practice/reverse-string/.meta/example.gd
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
func reverse(str):
var result = ""
for i in range(str.length() - 1, -1, -1):
result += str[i]
return result
28 changes: 28 additions & 0 deletions exercises/practice/reverse-string/.meta/tests.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# This is an auto-generated file.
#
# Regenerating this file via `configlet sync` will:
# - Recreate every `description` key/value pair
# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications
# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion)
# - Preserve any other key/value pair
#
# As user-added comments (using the # character) will be removed when this file
# is regenerated, comments can be added via a `comment` key.

[c3b7d806-dced-49ee-8543-933fd1719b1c]
description = "an empty string"

[01ebf55b-bebb-414e-9dec-06f7bb0bee3c]
description = "a word"

[0f7c07e4-efd1-4aaa-a07a-90b49ce0b746]
description = "a capitalized word"

[71854b9c-f200-4469-9f5c-1e8e5eff5614]
description = "a sentence with punctuation"

[1f8ed2f3-56f3-459b-8f3e-6d8d654a1f6c]
description = "a palindrome"

[b9e7dec1-c6df-40bd-9fa3-cd7ded010c4c]
description = "an even-sized word"
2 changes: 2 additions & 0 deletions exercises/practice/reverse-string/reverse_string.gd
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
func reverse(str):
pass
34 changes: 34 additions & 0 deletions exercises/practice/reverse-string/reverse_string_test.gd
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
func test_empty_string(solution_script):
var str = ""
var expected = ""
return [expected, solution_script.reverse(str)]


func test_a_word(solution_script):
var str = "robot"
var expected = "tobor"
return [expected, solution_script.reverse(str)]


func test_a_capitalized_word(solution_script):
var str = "Ramen"
var expected = "nemaR"
return [expected, solution_script.reverse(str)]


func test_a_sentence_with_punctuation(solution_script):
var str = "I'm hungry!"
var expected = "!yrgnuh m'I"
return [expected, solution_script.reverse(str)]


func test_a_palindrome(solution_script):
var str = "racecar"
var expected = "racecar"
return [expected, solution_script.reverse(str)]


func test_an_even_sized_word(solution_script):
var str = "drawer"
var expected = "reward"
return [expected, solution_script.reverse(str)]

0 comments on commit 8a6d24a

Please sign in to comment.