인프런 커뮤니티 질문&답변

dhwns5555님의 프로필 이미지

작성한 질문수

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

4. 문자거리

코드 피드백 부탁드립니다.

작성

·

132

0

<html>
    <head>
        <meta charset="UTF-8">
        <title>출력결과</title>
    </head>
    <body>
        <script>
            function solution(s, t){
                let arr;
                let cal;
                let max = Number.MAX_SAFE_INTEGER;
                let answer=[];
            
            for(let j=0; j<s.length; j++){
                for(let i=0; i<s.length; i++){
                    if(s[i]==t){
                        arr = s.indexOf(s[i], i);                        
                        cal = Math.abs(arr - j);              
                        console.log(arr+"-"+j+"="+cal);

                        if(cal<max){
                            max = cal;    
                        }       
                    }        
                }
                answer.push(max); 
                max = Number.MAX_SAFE_INTEGER;           
            }
            return answer;
        }
            
            let str="teachermode";
            console.log(solution(str, 'e'));
        </script>
    </body>
</html>

답변 1

1

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

답은 잘 나오나 시간복잡도가 O(n^2)으로 실제 채점사이트에서 효율성통과가 힘든 코드입니다.

영상의 방법은 O(n)이니 영상의 방법을 익히시기 바랍니다.

dhwns5555님의 프로필 이미지
dhwns5555
질문자

감사합니다. 혹시 채점사이트 알려주실 수 있을까요?