Why does the "t" not change in the second word of the second test? The correct answer has an unchanged "t"?
I'm wondering the same thing. The letters in the second word are not rotated!
OK, I see that the '& l t ;' is the < symbol, therefore, the group of four chars should stay together and not be changed, but that requires an interpretation of the input string as opposed to using the input string as is.
Why this code is doesnt pass though it gives me proper ans in matlab
in = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890;,.!& '
out = 'NOPQRSTUVWXYZABCDEFGHIJKLMnopqrstuvwxyzabcdefghijklm1234567890;,.!& '
s2 = s1
for i=1:length(s1)
x= find(in == s1(i)) ;
s2(i) = out(x)
end
specialcase = find(s2 == '&')
if ~isempty(specialcase)
s2(specialcase)='
Nice problem. Also like the encoder and decoder are the same (ROT13 applied twice gives back the original text).
A small solution that doesn't use "regexp"!
Sorry, mistake in crediting comment in code; this solution is based on Jan's solution (Solution 17079) -- not Jan Orwat's solution.
A modification of Solution 819585.
Not my best work :/
It's still interesting to see other logical approaches like this, though.
One thing that can be done is to remove the inner "if" statements, as illustrated in Solution 1275889. https://www.mathworks.com/matlabcentral/cody/problems/78-implement-a-rot13-cipher/solutions/1275889
How does this work?
It is an old trick. You can pass any group of commands wrapped in a regexp command as one string. It used to be fun and can be used virtually for any problem, but I no longer use it since it is against the purpose of Cody.
Remove the small words from a list of words.
688 Solvers
Sum all integers from 1 to 2^n
9009 Solvers
Project Euler: Problem 9, Pythagorean numbers
268 Solvers
Get the elements of diagonal and antidiagonal for any m-by-n matrix
292 Solvers
The sum of the numbers in the vector
385 Solvers