forked from ajburton/NYC-Hacker-Olympics
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathruby_solution.rb
executable file
·37 lines (32 loc) · 1.38 KB
/
ruby_solution.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/ruby
str = "iirytroyppytpeppowuiyoiuypipiyuyotyoiwiytorouqyiepyirueuiprpptwyiroqwtuyipourrrourorwipowiorutpwtwruuioquteorioriyutwqyyprptuqqquuituyywyuoewtrppqwrtiiruirpwyptpuoyyoeyerpqiotuieripurouwuwyuwrworowitoepoypeipeypiireeorrwripuuteoitpuutturruwiyryeetyrioweytueqrrrtotrpiqetoyepoipiwrwpppiritupwipruooiepoweypiuwrqywuuwyiroqpqpruioopuiuerputpwwuuiqwpiroewrtwiqerteoyeqtutwoeoipioiuqiiiouuoqtuuwtuwiiqwppqitywuqpuutrqiyoeuuutwrwtoqrqyoeyoiporuuioiwryoeruypreprqroiyuqwtuyoytoerwqryeeripryieypiwqirtriurueypiuyuypriuiwptywppupoioyrewooytreteeriiwroietuwypieeeeeqpiiiwrirtppoeyiwpooyyporpruwuoriiyowuytiwpwpryeywotoyirqypyypoeptiuwwoyprquoetepptorwiewprpiywwtuieeiweytrrwiqtwotioryoiptyyyuriiqiyroeeiqepwteuwptpruuypipieuoiiuuweeuryuuowporrooyywyyrryriqyirooitirueruptotpryoqtipippyptiurwyiryooywtryyuurtrutwqiqiiiqwouyeooueoturuowiuwrtruwwiupwopwweoo"
qwerty_map = {
"q" => 0,
"w" => 1,
"e" => 2,
"r" => 3,
"t" => 4,
"y" => 5,
"u" => 6,
"i" => 7,
"o" => 8,
"p" => 9,
}
tr_to_num = []
str.each_char do |c|
tr_to_num.push qwerty_map[c]
end
pair_map = {}
pair_str = nil
while true do
pair_str = tr_to_num.slice!(0,2).join("")
break if pair_str == ""
pair_map[pair_str] ? pair_map[pair_str] += 1 : pair_map[pair_str] = 1
end
phone_number = []
pair_map.each_pair do |k,v|
if v == 1
phone_number.push k[0,1].to_i + k[1,1].to_i
end
end
puts phone_number.join("")