가장 가까운 같은 글자

RyuIsangGo🤘·2023년 8월 23일
0

문제

나의코드

const solution = (s) => {
    let result = [];
    for(let i = 0; i < s.length; i++) {
        let findIndex = s.slice(0, i).lastIndexOf(s[i]);
        if(findIndex !== -1){
            findIndex = i - findIndex;
        }
        result.push(findIndex);
    }
    return result;
}

로직흐름

0인덱스부터 s.length-1까지 순회를 한다.
s에서 가장 첫번째 요소부터 현재 인덱스 바로 직전까지 뽑아 낸 뒤, 여기서 해당 요소를 찾는다. 여기서 가장 마지막 인덱스를 반환한다. 만약 없으면 -1을 반환한다.
만약 찾은 인덱스 값이 -1이라면 바로 result배열에 추가를 하고, -1이 아니라면 현재 순회중인 인덱스에서 찾은 인덱스 값의 차를 result배열에 추가한다.
순회를 마친 뒤, result배열을 반환한다.

profile
이전 블로그 입니다.

0개의 댓글