고양이와 코딩

[프로그래머스] - 3월13일 ~ 본문

javascript

[프로그래머스] - 3월13일 ~

ovovvvvv 2024. 3. 14. 00:22
728x90

3월13일

가장 가까운 같은 글자

 

 

풀이

function solution(s) {
    let result = [];
    const lastIndex = {};
    
    for (let i = 0; i < s.length; i++){
        const currentChar = s[i];
        
        if(currentChar in lastIndex){
            const distance = i - lastIndex[currentChar];
            result.push(distance);
        } else {
            result.push(-1);
        }
        
        lastIndex[currentChar] = i;
    }
    return result;
}

currentChar in lastIndex << 이런식으로 사용할 수 있다는 것을 배웠습니다!

그리고 lastIndex[currentChar] = i 는, lastIndex 객체를 업데이트 하는 것인데,
첫 번째 문자인 "b"라고 하면 lastIndex["b"] = 0 . 따라서 lastIndex 객체의 상태는 {"b":0}이 됩니다!!