|
Post by Josh on Apr 30, 2017 14:36:41 GMT
How many vowels are there?In this code golf challenge, you must write a program that looks at the string:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis interdum metus magna, sit amet eleifend mi lacinia in. Nullam sodales quis leo porta imperdiet. Fusce turpis est, faucibus et nulla id, porta hendrerit elit It should output the number of vowels that the string contains. Your program must determine this, you are not allowed to hard-code your solution.
Please format your solution as the language name followed by the number of characters that your solution contains before writing out the solution in a code block.
Good luck!
|
|
|
Post by goulstem on Apr 30, 2017 14:45:28 GMT
Lua, 341 chars.
a="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis interdum metus magna, sit amet eleifend mi lacinia in. Nullam sodales quis leo porta imperdiet. Fusce turpis est, faucibus et nulla id, porta hendrerit elit"b=true;c={["a"]=b,["e"]=b,["i"]=b,["o"]=b,["u"]=b}d=0;for i in a:gmatch(".") do d = (c[i] and d + 1) or d; end;print(d)
|
|
|
Post by Josh on Apr 30, 2017 14:49:34 GMT
Lua, 341 chars. a="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis interdum metus magna, sit amet eleifend mi lacinia in. Nullam sodales quis leo porta imperdiet. Fusce turpis est, faucibus et nulla id, porta hendrerit elit"b=true;c={["a"]=b,["e"]=b,["i"]=b,["o"]=b,["u"]=b}d=0;for i in a:gmatch(".") do d = (c[i] and d + 1) or d; end;print(d)
Nice solution goulstem !
|
|
|
Post by goulstem on Apr 30, 2017 14:53:29 GMT
Lua, 275
a="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis interdum metus magna, sit amet eleifend mi lacinia in. Nullam sodales quis leo porta imperdiet. Fusce turpis est, faucibus et nulla id, porta hendrerit elit"d=0;for i in a:gmatch("[aeiou]")do d=d+1;end;print(d)
|
|
|
Post by Josh on Apr 30, 2017 14:55:12 GMT
Lua, 275 a="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis interdum metus magna, sit amet eleifend mi lacinia in. Nullam sodales quis leo porta imperdiet. Fusce turpis est, faucibus et nulla id, porta hendrerit elit"d=0;for i in a:gmatch("[aeiou]")do d=d+1;end;print(d)
Looks good again! I've got 262 in Py 2.7 if anyone wants to try and beat that
|
|
uuddrlrlba
New Member
Veteran
Up Up Down Down Right Left Right Left B A
Posts: 1
|
Post by uuddrlrlba on Apr 30, 2017 15:14:07 GMT
I did a way longer one at 516 characters, but it's a bit more readable.
function VowelChecker(String) local VowelTable = {"a","e","i","o","u"} local Vowels = 0 for i = 1, #String do local Character = String:sub(i,i) for i,Vowel in pairs(VowelTable) do if Vowel == string.lower(Character) then Vowels = Vowels + 1 end end end print(Vowels) end
VowelChecker("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis interdum metus magna, sit amet eleifend mi lacinia in. Nullam sodales quis leo porta imperdiet. Fusce turpis est, faucibus et nulla id, porta hendrerit elit")
|
|
|
Post by Josh on Apr 30, 2017 15:17:13 GMT
I did a way longer one at 516 characters, but it's a bit more readable. function VowelChecker(String) local VowelTable = {"a","e","i","o","u"} local Vowels = 0 for i = 1, #String do local Character = String:sub(i,i) for i,Vowel in pairs(VowelTable) do if Vowel == string.lower(Character) then Vowels = Vowels + 1 end end end print(Vowels) end
VowelChecker("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis interdum metus magna, sit amet eleifend mi lacinia in. Nullam sodales quis leo porta imperdiet. Fusce turpis est, faucibus et nulla id, porta hendrerit elit") Well we accept all solutions so well done!
|
|
|
Post by nillogic on Apr 30, 2017 16:08:42 GMT
Python, 257
v=0 for x in'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis interdum metus magna, sit amet eleifend mi lacinia in. Nullam sodales quis leo porta imperdiet. Fusce turpis est, faucibus et nulla id, porta hendrerit elit':v+=x in'aeiou' print v
|
|
|
Post by Bit on Apr 30, 2017 16:11:31 GMT
Wot, nillogic too? Hoi. Just saying, please no bot for this forum, I quit the other one in part because of the "i did it to see what nillogic will post" trashposts
|
|
|
Post by nillogic on Apr 30, 2017 16:16:28 GMT
lmao, there wont be any bot running here.. The bot has been improved to be more helpful however
|
|
|
Post by Bit on Apr 30, 2017 16:17:09 GMT
Noice, and thanks.
|
|
vha
New Member
Veteran
Posts: 5
|
Post by vha on Apr 30, 2017 16:51:44 GMT
I think I have the smallest solution so far:
print(sum(c in"aeiou"for c in "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis interdum metus magna, sit amet eleifend mi lacinia in. Nullam sodales quis leo porta imperdiet. Fusce turpis est, faucibus et nulla id, porta hendrerit elit")) It's in python, (currently) at 252 characters.
This is my first post on this forum, so please tell me if I did something wrong.
|
|
|
Post by Josh on Apr 30, 2017 16:56:11 GMT
I think I have the smallest solution so far: print(sum(c in"aeiou"for c in "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis interdum metus magna, sit amet eleifend mi lacinia in. Nullam sodales quis leo porta imperdiet. Fusce turpis est, faucibus et nulla id, porta hendrerit elit")) It's in python, (currently) at 252 characters. This is my first post on this forum, so please tell me if I did something wrong. Looks good vha! I like your solution!
|
|
Wunder Wulfe
New Member
Veteran
hoi
Posts: 3
ROBLOX Username: Wunder_Wulfe
|
Post by Wunder Wulfe on Apr 30, 2017 19:13:40 GMT
i have the smallest solution Lua 250 print(#('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis interdum metus magna, sit amet eleifend mi lacinia in. Nullam sodales quis leo porta imperdiet. Fusce turpis est, faucibus et nulla id, porta hendrerit elit'):gsub('[^aeiou]',''))
if you want one thats smaller by 1 character but also prints all vowels: Lua 248 print(('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis interdum metus magna, sit amet eleifend mi lacinia in. Nullam sodales quis leo porta imperdiet. Fusce turpis est, faucibus et nulla id, porta hendrerit elit'):gsub('[aeiou]',''))
|
|
|
Post by Josh on Apr 30, 2017 19:30:26 GMT
i have the smallest solution Lua 250 print(#('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis interdum metus magna, sit amet eleifend mi lacinia in. Nullam sodales quis leo porta imperdiet. Fusce turpis est, faucibus et nulla id, porta hendrerit elit'):gsub('[^aeiou]',''))
if you want one thats smaller by 1 character but also prints all vowels: Lua 249 print(('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis interdum metus magna, sit amet eleifend mi lacinia in. Nullam sodales quis leo porta imperdiet. Fusce turpis est, faucibus et nulla id, porta hendrerit elit'):gsub('[^aeiou]','')) Congratulations Wunder Wulfe, we'll have to see if anyone else can beat you!
|
|