https://github.com/iacobson/odin7-ruby-building_blocks
https://github.com/iacobson/odin7-ruby-building_blocks
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/iacobson/odin7-ruby-building_blocks
- Owner: iacobson
- Created: 2015-02-24T19:33:54.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2015-02-26T14:26:25.000Z (over 10 years ago)
- Last Synced: 2025-03-29T02:36:55.160Z (2 months ago)
- Language: Ruby
- Size: 133 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Odin7-Ruby-Building_Blocks
#### http://www.theodinproject.com/ruby-programming/building-blocks##Project 1: Caesar Cipher
_From_Wikipedia_:
In cryptography, a Caesar cipher, also known as Caesar's cipher, the shift cipher, Caesar's code or Caesar shift, is one of the simplest and most widely known encryption techniques. It is a type of substitution cipher in which each letter in the plaintext is replaced by a letter some fixed number of positions down the alphabet. For example, with a left shift of 3, D would be replaced by A, E would become B, and so on. The method is named after Julius Caesar, who used it in his private correspondence.
**TASK:** Implement a caesar cipher that takes in a string and the shift factor and then outputs the modified string:
**caesar_cipher(input_string, shift_factor)**##Project 2: Stock Picker
Implement a method #stock_picker that takes in an array of stock prices, one for each hypothetical day. It should return a pair of days representing the best day to buy and the best day to sell. Days start at 0.```ruby
stock_picker([17,3,6,9,15,8,6,1,10])
=> [1,4] # for a profit of $15 - $3 == $12
```##Project 3: Substrings
Implement a method #substrings that takes a word as the first argument and then an array of valid substrings (your dictionary) as the second argument. It should return a hash listing each substring (case insensitive) that was found in the original string and how many times it was found.
```ruby
dictionary = ["below","down","go","going","horn","how","howdy","it","i","low","own","part","partner","sit"]
=> ["below","down","go","going","horn","how","howdy","it","i","low","own","part","partner","sit"]substrings("below", dictionary)
=> {"below"=>1, "low"=>1}
```
Next, make sure your method can handle multiple words:
```ruby
substrings("Howdy partner, sit down! How's it going?", dictionary)
=> {"down"=>1, "how"=>2, "howdy"=>1,"go"=>1, "going"=>1, "it"=>2, "i"=> 3, "own"=>1,"part"=>1,"partner"=>1,"sit"=>1}
```