문제
문자열 str을 받는 JavaScript 함수를 작성해야 합니다. 우리 함수는 그 앞에 있는 숫자를 기반으로 문자열의 알파벳을 검증해야 합니다.
문자열을 숫자로 분할한 다음 숫자를 다음 하위 문자열의 문자 수와 비교해야 합니다. 모두 일치하면 문자열이 유효하고 true를 반환해야 하고 그렇지 않으면 false를 반환해야 합니다.
예를 들어 -
5hello4from2me
true를 반환해야 합니다.
숫자로 나누면 문자열이 'hello', 'from', 'me'가 되고 이 모든 문자열은 앞의 숫자와 길이가 같기 때문입니다.
예시
다음은 코드입니다 -
const str = '5hello4from2me'; const validateString = (str = '') => { const lenArray = []; let temp = ''; for(let i = 0; i < str.length; i++){ const el = str[i]; if(+el){ lenArray.push([+el, '']); }else{ const { length: len } = lenArray; lenArray[len - 1][1] += el; }; }; return lenArray.every(sub => sub[0] === sub[1].length); }; console.log(validateString(str));
출력
다음은 콘솔 출력입니다 -
true