Meta Cody
Follow


Problem 723: QWERTY Shift Encoder

Brent on 1 Feb 2025
Latest activity Reply by Brent on 18 Feb 2025 at 20:13

My following code works running Matlab 2024b for all test cases. However, 3 of 7 tests fail (#1, #4, & #5) the QWERTY Shift Encoder problem. Any ideas what I am missing?
Thanks in advance.
keyboardMap1 = {'qwertyuiop[;'; 'asdfghjkl;'; 'zxcvbnm,'};
keyboardMap2 = {'QWERTYUIOP{'; 'ASDFGHJKL:'; 'ZXCVBNM<'};
if length(s) == 0
se = s;
end
for i = 1:length(s)
if double(s(i)) >= 65 && s(i) <= 90
row = 1;
col = 1;
while ~strcmp(s(i), keyboardMap2{row}(col))
if col < length(keyboardMap2{row})
col = col + 1;
else
row = row + 1;
col = 1;
end
end
se(i) = keyboardMap2{row}(col + 1);
elseif double(s(i)) >= 97 && s(i) <= 122
row = 1;
col = 1;
while ~strcmp(s(i), keyboardMap1{row}(col))
if col < length(keyboardMap1{row})
col = col + 1;
else
row = row + 1;
col = 1;
end
end
se(i) = keyboardMap1{row}(col + 1);
else
se(i) = s(i);
end
% if ~(s(i) = 65 && s(i) <= 90) && ~(s(i) >= 97 && s(i) <= 122)
% se(i) = s(i);
% end
end
hello MATLAB
hello MATLAB on 16 Feb 2025 at 14:24
I dont understand what you want to solve. can you explain it detail
Brent
Brent on 18 Feb 2025 at 20:13
BTW, I got the code to work. Thanks for checking in.
Brent
Brent on 17 Feb 2025 at 23:32
Sure, no problem. This following is directly from the Cody Problem statement:
Encode a string using the QWERTY shift code.
This code is where you touch type but are offset by one character to the right.
Only letters are encoded as the top row shifting does not occur.
(eg) "A" becomes "S" and "a" becomes "s"
"PpLlMm" becomes "{[:;<,"
An encoded message will never have any "QqAaZz" letters.
Illegal characters in the original message are "{{:;<,".
Encode "A-Za-z". All other characters are normal except for the Illegal characters.
Input:
str= "You miss"
Output:
encoded_str= "Upi ,odd"

Tags

No tags entered yet.