Hex
New Member
Posts: 19
|
Post by Hex on Jun 6, 2017 9:00:00 GMT
DIFFICULTY: EASY
Given the string "nPueomonlurtmaciorcspociisilocovclnaconooiiss" derive from it the string "Pneumonoultramicroscopicsilicovolcanoconiosis"
|
|
|
Post by 128Gigabytes on Jun 6, 2017 9:17:40 GMT
local function swap(input)
local output = ''
for x = 1, ((#input) / 2), 1 do
output = (output .. input:sub((x * 2), (x * 2)) .. input:sub(((x * 2) - 1), ((x * 2) - 1)))
end
if (((#input) % 2) == 1) then
output = (output .. input:sub(#input, #input))
end
return (output);
end
print(swap("nPueomonlurtmaciorcspociisilocovclnaconooiiss") == "Pneumonoultramicroscopicsilicovolcanoconiosis")
|
|
Hex
New Member
Posts: 19
|
Post by Hex on Jun 6, 2017 9:23:38 GMT
Neat solution @128gigabytes, could obviously be heavily shortened and simplified if you are aiming to golf however!
|
|
|
Post by 128Gigabytes on Jun 6, 2017 9:31:19 GMT
Here it is golfed
Lua, 109
print(("nPueomonlurtmaciorcspociisilocovclnaconooiiss"):gsub("..",function(b)return b:sub(2)..b:sub(1,1)end))
|
|
|
Post by cntkillme on Jun 12, 2017 10:31:33 GMT
Here's 2 79 char methods (no I'm not changing print to warn, that's lame I think it should work in vanilla Lua) print(("nPueomonlurtmaciorcspociisilocovclnaconooiiss"):gsub("(.)(.)","%2%1"))
_="nPueomonlurtmaciorcspociisilocovclnaconooiiss"print(_:gsub("..",_.reverse))
|
|
Hex
New Member
Posts: 19
|
Post by Hex on Jun 12, 2017 13:33:06 GMT
+1 for not using warn making it not RbxLua specific.
|
|