Last active
December 13, 2015 16:39
-
-
Save FerPerales/4942006 to your computer and use it in GitHub Desktop.
Palindromes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
68 | |
oyncbgymhkrgfoosnxrlzmbxxdvyfclg | |
zqcolemtoatzmvypy | |
matebobomacbmmegcgbtu | |
ermcvdvpmyfmrumgywffaguyauuchqpuuhdayewfaq | |
ynhehazomiqkxqiajevzmxykvnjrxyttowrxakaymkwm | |
cteonyxcelmaohxgqpslmbzq | |
djfohodetjbngtfqxjrbjhxdvdngvnenqr | |
kmntddnpyognls | |
mjgvquobosirhpoeaqigczyerafadhiiqmkgfadudwlssdrns | |
qnnjeccqe | |
mbbqpwrmnzpbwebrimbbmhjnzkwijbhbqbrmkewmr | |
brtevyjxgrtbityqbksvjnvpbxnwqhnpasniwhtvqkaeq | |
oalxafblxbllirnlffxicewxayhiumncudqxxpqzttzaalwj | |
qptferpftufoervlcmz | |
diylyebqqniudbmnuylfmbewjwjyfjiuiju | |
omb | |
awngganw | |
ukftkdodwtddwhtsetsodecfuhcdbb | |
dvysjmgxuvncjonauhrkwafkvsdgdqyvfecs | |
iwifuduokejdenntarjtatktimomoiwrmiomffpjijpfo | |
mudzueajvzkfslvi | |
pcakdjjkdrqputgxuvetnsmeadqlvvo | |
yytqktfbrtkxbftaaxrq | |
nnspeyhcvbyyhahwsnwyegacopmpphvpbpmosgsns | |
ikjlaz | |
vnswwsvlnkwvlwhkyhvtythh | |
nlufazeoqpjlnujwjcxfoiswlqxwzxxqstokvln | |
gmlquegdxeyxmhspomoyhadwnijuzbxshkehbfv | |
hzbhrxfemhbibhfbrewenibfmbnbbzbbefw | |
rogqwidkeqmgrmcbwcbfyf | |
hprjhjxpxgglubtybuhjlgthcfbfawcgjtbygwgtdrdah | |
hgcpdzlenzzbvezqwavypbzpuluhvcbelrpvwvvqyzugelnuabr | |
aqywmngwgipgiqraqqwaqgrmyivvrpginwnrnaq | |
dmmdzjjkzk | |
ygovcdifiilkpdanj | |
ypawpwhnjxdrsvaibpiuoqdpgivounwixgpdcwgfpshi | |
iqpqlqqixpl | |
rierviiynmfaonkabbwtvokuyiphdbqmajqwzeggbmcu | |
dlpfgabkwhpsryzkwshicov | |
pzchwvopwxxgnmwfkavh | |
afxwxaawafyy | |
bcengudfrizahwypxdzrjfdtmsbwwowzh | |
qzapobigtiizkdzecifevtzzggdpcuovokmmwhzojet | |
grzurjavplptgfntbblskgcpaaysmzejiyatynya | |
broquzlbdmbtunannuqnj | |
liliagpalaadzzlgdp | |
etelteetqlzuuetqez | |
tyqqddnztrxlfqxwjkosxxfomxax | |
tmecjmihatku | |
jzojuzenjwhejfkjojtkaxjuieqrjlsbvbfuaroqkjltma | |
kskcjnjxklkiukrkqecuxenwgyklwkqiksygk | |
bkhyykyfniekweefqykixunoehjovujqfkvkfxjbj | |
icblnxwgbcmrkdjsvbpwxwvwhsnwpgnbspilghfu | |
oaluufelamwwsuefullaamsmzmzo | |
akpzifvrwtkhoijqzpmrckkfrklznwzzgvvoe | |
vqngjawpblaoflsietmxj | |
okgmrvghvfbjgpvqbtvfgdqncxknyinrybfsafbxsmupss | |
qitzdsqonrqadouruyr | |
iejfkmphtmollzmjedyusgchmjdyxxcwngwqxwwzbfu | |
dyyapadpp | |
auhpoxgtwdkiiifeubmbzv | |
hpgeppvvggerprg | |
unnornlpcayekapknbefbnnrukqonqbklacqfbaqny | |
wuqugipzcxrohdrgaphz | |
nttivynodletqbsxvxjdzpwty | |
yhhoigzdzpaiycvosyelenvvynsealpcrpprdvyyvev | |
ejqbgngktitiqcjqbykgbqigxbxityecnt | |
kmlalyqevfftxsjwxufteychuscbwnptuupq |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-1 | |
-1 | |
abbcegmmotuutommgecbba | |
aacdeffghmmpqruuuvwyyyywvuuurqpmmhgffedcaa | |
aaehijkkmmnoqrtvwxxyyzzyyxxwvtrqonmmkkjiheaa | |
-1 | |
bddefghjjnnoqrtvxxvtrqonnjjhgfeddb | |
-1 | |
-1 | |
cenqjjqnec | |
ehijkmmmnpqrrwwzbbbbbbbbbbbbbbbbbbzwwrrqpnmmmkjihe | |
abbehijknnpqqrsttvvwxyggyxwvvttsrqqpnnkjihebba | |
-1 | |
-1 | |
defiijjlmnquuwyybbbbbbyywuuqnmljjiifed | |
-1 | |
agnwwnga | |
bcdddefhkosttuwwuttsokhfedddcb | |
-1 | |
adeffiiijjkmmnprttuwoooooooooowuttrpnmmkjjiiiffeda | |
-1 | |
-1 | |
abfkqrttxyyxttrqkfba | |
abceghhmnnopppvwyyssssssssssyywvppponnmhhgecba | |
-1 | |
hhklnstvvwwyywwvvtsnlkhh | |
-1 | |
-1 | |
bbbbbeeffhhimnrwzxxzwrnmihhffeebbbbb | |
-1 | |
abbcdfgggjjlprttuwxyhhhhhhhhhhyxwuttrpljjgggfdcbba | |
abbceeghllnppqruuvvvwyzzzddzzzywvvvuurqppnllhgeecbba | |
aaiimnnpqqqrrvwwyggggggggggywwvrrqqqpnnmiiaa | |
djkmzzmkjd | |
-1 | |
-1 | |
ilpqqxxqqpli | |
-1 | |
-1 | |
-1 | |
aafwxyyxwfaa | |
-1 | |
-1 | |
-1 | |
-1 | |
aadgillpzzplligdaa | |
eeelqttuzzuttqleee | |
-1 | |
-1 | |
-1 | |
cegijkkkkklnqsuwxyrryxwusqnlkkkkkjigec | |
beeffhijjkkknoquvxyywwyyxvuqonkkkjjihffeeb | |
-1 | |
aaefllmmosuuwzzwuusommllfeaa | |
-1 | |
-1 | |
-1 | |
-1 | |
-1 | |
adyppppppyda | |
-1 | |
eggpprvhhvrppgge | |
aabbcefkklnnnnopqqruyyurqqponnnnlkkfecbbaa | |
-1 | |
-1 | |
acdeehilnopprsvvvyyyzggzyyyvvvsrpponliheedca | |
bbceggiijknqqttxyyxttqqnkjiiggecbb | |
-1 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
=begin | |
Given a file name input.txt with the following structure: | |
The first line is a positive number that indicates the number of lines in the file. | |
Each of these lines represents a string | |
Write a program that determines if a palindrome can be generated by rearranging the letters | |
in the string and write the output in a new text file called output.txt with the next format: | |
If the word cannot be rearranged to form a palindrome, write -1 otherwise generate a palindrome | |
using the letters in the string. If there is more than one palindrome that can be generated, only | |
write one | |
=end | |
NOT_A_PALINDROME = "-1" | |
def get_palindrome | |
file = File.new "input.txt", "r" | |
output = File.new "output.txt", "w" | |
entries = file.gets.to_i | |
entries.times do | |
word_hash = Hash.new(0) | |
line = file.gets.chars.sort.join | |
line.each_char {|element| word_hash[element] += 1} | |
word_hash.delete "\n" | |
output.puts is_palindrome?(word_hash) ? generate_palindrome(word_hash) : NOT_A_PALINDROME | |
end | |
output.close | |
file.close | |
end | |
def generate_palindrome hash | |
palindrome = "" | |
palindrome_center = "" | |
hash.each_key do |item| | |
value = hash[item].to_i | |
if value.even? | |
palindrome << item.to_str * (value/2) | |
else | |
palindrome_center << item.to_str * value | |
end | |
end | |
palindrome = palindrome << palindrome_center << palindrome.reverse | |
end | |
def is_palindrome? value | |
counter = 0 | |
value.each_key {|index| counter += 1 unless value[index].even?} | |
counter <= 1 | |
end | |
get_palindrome |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment