알고리즘/프로그래머스
[프로그래머스] 가장 가까운 같은 글자 문제풀이 JS
_hoji
2023. 7. 25. 23:21
문자열 s를 탐색하여 각 문자에서 가장 오른쪽에 위치하는 위치를 count에다가 저장한다.
해당 문자를 처음 마주한 것이라하면 해당 값을 undefined이므로,
이때 값을 count에 업데이트하고, answer에는 -1를 push하면 된다.
그 외의 경우엔 count에 담긴 위치와 현재 위치를 비교한 값을 answer에 push하면 된다.
function solution(s) {
let count = {},
answer = [];
for (let i = 0; i < s.length; i++) {
if (count[s[i]] === undefined) {
answer.push(-1);
count[s[i]] = i;
} else {
answer.push(i - count[s[i]]);
count[s[i]] = i;
}
}
return answer;
}