문제 설명

문제 링크

[프로그래머스[Level1] 가장 가까운 같은 글자]
(https://school.programmers.co.kr/learn/courses/30/lessons/142086)

접근 방법

  1. 일단 기준을 잡은 상태에서 기준만큼 검사해주는 방식을 선택함
  2. 앞서 나온 것이 없다면 1번 반복

    코드

function solution(s) {
    var answer = [];
    let i=0;
    //visited를 따로 설정해 준 이유는 
    //ex) "banana" 처럼 a가 3개인 경우 먼거리에 있는 것도 answer에 push하기 때문에
    let visited = []; // 방문 여부 판단
    while(i!=s.length){
        let standard = s[i];
        let istrue = false;
        for(j=0;j<i;++j){
            if(standard===s[j]&&!visited[j]){
                answer.push(i-j);
                visited[j]= true;
                istrue = true;
            }
        }
        if(istrue===false) answer.push(-1);
        i++;
    }
    return answer;
}

+ Recent posts