가장 가까운 같은 글자

이지영·2025년 1월 14일

[ 문제 설명 ]

[ 제한 사항 & 입출력 예 ]

[ 문제 풀이 및 답 ]

function solution(s) {
    let answer = []; 
    let tmpArray = []; // 비교를 위한 빈배열 생성 
    s.split('').forEach((item,idx)=>{
        // 첫 글자의 경우 -1 반환, tmpArray에 비교할 값 저장
        if (idx <= 0){
            answer.push(-1)
            tmpArray.push(item)
        } else if(tmpArray.includes(item)){ 
          // tmpArray에 item이 포함되어 있다면
            // 마지막 인덱스를 반환할거고 idx- 마지막 인덱스해서 거리 저장
            // 다음 비교를 위해 tmpArray에 item 저장
            answer.push(idx- tmpArray.lastIndexOf(item));
            tmpArray.push(item);
        } else { 
            // tmpArray에 item이 포함되어 있지 않다면 -1을 answer에 저장
            // tmpArray에 다음 비교를 위해 item을 저장
            answer.push(-1);
            tmpArray.push(item);
        }
    })
    return answer
}

[ 실행결과 ]

0개의 댓글