호지

[프로그래머스] 가장 가까운 같은 글자 문제풀이 JS 본문

알고리즘/프로그래머스

[프로그래머스] 가장 가까운 같은 글자 문제풀이 JS

_hoji

문자열 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;
}
Comments