[프로그래머스/Javascript] 가장 가까운 같은 글자

TED·2023년 9월 1일
0

Javascript CodingTest

목록 보기
17/63
post-thumbnail

가장 가까운 같은 글자

가장 가까운 같은 글자

function solution(s) {
    var answer = []; // 결과를 저장할 배열
    let newS = [];   // 이전에 나왔던 요소를 저장할 배열

    for (let i = 0; i < s.length; i++) {
        if (newS.includes(s[i])) { // newS 에 없는 요소라면 false다. 하지만 아래 false값이 된 값이 채워지면서 인덱스값을 얻게된다.
            // 이미 등장한 문자일 경우(newS 배열안의 요소와 겹치는 값이 들어올경우)
            answer.push(newS.length - newS.lastIndexOf(s[i])); // 현재 위치 - 마지막으로 등장한 위치 
                                                               // 현재 들어온 값의 length 값에 newS 배열안의 인덱스값을 빼는것.
            newS.push(s[i]); // 이전에(먼저) 나왔던 요소를 저장하는 배열에 추가
        } else {
            // 처음 등장하는 문자일 경우
            answer.push(-1); // -1을 결과 배열에 추가
            newS.push(s[i]); // 이전에(먼저) 나왔던 요소를 저장하는 배열에 추가
        }
    }

    return answer;
}


// s 문자열의 각 요소중 자신보다 앞쪽에있으며, 자신과 같은 수의 위치를 
// 자신를 기준으로 알아내는 문제. 없으면 -1을 출력 lastIndexOf, includes 사용
  • 나의 풀이
    : 일단 주석을 전부 달아서 나중에 봐도 한방에 이해되게끔 해뒀다..
    너무 졸려서 눈물이난다... 하루종일 과제를 했는데 하나도 진척이 없어서 정말 울음이날뻔했다..
    알고리즘 풀이는 이런 내 삶에 하나의 빛이다.. 해결이 어케됬든 되니까.... ㅠㅠㅠ
profile
컴맹 개발 입문자

0개의 댓글