소문자 영어 알파벳만 포함하는 문자열이 있다고 가정합니다. 이 질문의 목적을 위해 문자의 단위 이동을 바로 그 문자를 알파벳의 다음 문자로 바꾸는 것으로 정의합니다('z' 옆에 있음을 의미하는 래핑 포함은 'a ');
문자열 str을 첫 번째 인수로 사용하고 str과 같은 길이의 숫자 배열을 두 번째 인수로 사용하는 JavaScript 함수를 작성해야 합니다. 우리 함수는 원래 문자열의 문자가 배열 arr에 있는 해당 단위만큼 이동된 새 문자열을 준비해야 합니다.
예를 들어 -
입력 문자열과 배열이 -
인 경우const str = 'dab'; const arr = [1, 4, 6];
그러면 출력은 다음과 같아야 합니다. -
const output = 'eeh';
예시
이에 대한 코드는 -
const str = 'dab'; const arr = [1, 4, 6]; const shiftString = (str = '', arr = []) => { const legend = '-abcdefghijklmnopqrstuvwxyz'; let res = ''; for(let i = 0; i < arr.length; i++){ const el = str[i]; const shift = arr[i]; const index = legend.indexOf(el); let newIndex = index + shift; newIndex = newIndex <= 26 ? newIndex : newIndex % 26; res += legend[newIndex]; }; return res; }; console.log(shiftString(str, arr));
출력
콘솔의 출력은 -
eeh