문자열을 받아서 0부터 문자 매핑을 시작하는 JavaScript 함수를 작성해야 합니다.
그리고 함수는 고유한(중복되지 않은) 문자를 만날 때마다 매핑 카운트를 1씩 늘려야 합니다. 그렇지 않으면 중복 문자에 대해 동일한 번호를 매핑해야 합니다.
예:문자열이 -
인 경우const str = 'heeeyyyy';
그러면 출력은 다음과 같아야 합니다. -
const output = [0, 1, 1, 1, 2, 2, 2, 2];
따라서 이 함수의 코드를 작성해 보겠습니다 -
예시
이에 대한 코드는 -
const str = 'heeeyyyy'; const mapString = str => { const res = []; let curr = '', count = -1; for(let i = 0; i < str.length; i++){ if(str[i] === curr){ res.push(count); }else{ count++; res.push(count); curr = str[i]; }; }; return res; }; console.log(mapString(str));
출력
콘솔의 출력은 -
[ 0, 1, 1, 1, 2, 2, 2, 2 ]