본문 바로가기

프로그래머스

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

https://school.programmers.co.kr/learn/courses/30/lessons/142086

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr


접근방법

1. s.substr(0,i)를 사용하여 0번부터 현재 i번째 바로 전까지의 문자열을 가져온다.

2. lastIndexof(s[i])를 사용해, s[i]가 해당 부분 문자열에서 가장 마지막에 나타난 위치를 찾는다.

3. -1인 경우(존재하지 않는경우) 그대로 -1을 리턴하고, 그렇지 않은 경우 뒤에서부터 거리를 계산하여 return 한다.

제출

function solution(s) {
    var answer = [];
    for(let i = 0; i < s.length ; i ++){
        let temp = s.substr(0,i).lastIndexOf(s[i])
        if(temp === -1){
            answer.push(temp)
        }else{
            answer.push(s.substr(0,i).length - temp)
        }
        
    }
    
    return answer;
}

결과 :100점