좋아요를 많이 받은 다른사람의 풀이

function solution(s) {
    const hash={};

    return [...s].map((v,i)=>{
        let result = hash[v] !== undefined ? i - hash[v] : -1;
        hash[v] = i;
        return result;
    });
}

 

나의 풀이

function solution(s) {
    s= s.split("")
    var answer = []; 
    var chk = [];
    for(var i=0; i<s.length; i++){
        if(chk.lastIndexOf(s[i]) ==-1){
             answer[i]=chk.lastIndexOf(s[i])
        }else{
            answer[i]=i-chk.lastIndexOf(s[i])
        }
        chk[i]=s[i]
    }
    return  answer;
}

스터디 멤버1 풀이

const solution = (s) =>
  [...s].map((c, i, arr) => {
    const pos = arr.lastIndexOf(c, i - 1);
    return pos !== -1 ? i - pos : -1;
  });

console.log(solution("banana"));

스터디 멤버2 풀이

function solution(s) {
  var answer = [-1];
  for (let i = 1; i < s.length; i++) {
    var strNumber = s.lastIndexOf(s[i],i-1);
    (strNumber === -1) ? answer.push(-1) : answer.push(i-strNumber);
  }
  return answer;
}

+ Recent posts