Skip to content

Instantly share code, notes, and snippets.

@sunkibaek
Last active September 11, 2015 10:57
Show Gist options
  • Save sunkibaek/10d260227bd96f4d5ca7 to your computer and use it in GitHub Desktop.
Save sunkibaek/10d260227bd96f4d5ca7 to your computer and use it in GitHub Desktop.
Some algorithm problems solved in Ruby
def anagram?(string, candidate)
string.chars.sort == candidate.chars.sort
end
require 'minitest/autorun'
class Test < MiniTest::Test
def test_anagram
assert anagram?('beta', 'bate')
assert anagram?('beta', 'beat')
refute anagram?('beta', 'back')
end
end
def string_reverse(string)
string.chars.reduce { |result, c| c + result }
end
require 'minitest/autorun'
class Test < MiniTest::Test
def test_string_reverse
assert_equal 'fedcba', string_reverse('abcdef')
end
end
def string_to_integer(string)
string.chars.reduce(0) { |result, c| (c.ord - '0'.ord) + result * 10 }
end
require 'minitest/autorun'
class Test < MiniTest::Test
def test_string_to_integer
assert_equal 12345, string_to_integer('12345')
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment