가장 짧은 문자거리

지창언·2022년 7월 26일

codingTest

목록 보기
20/29

Index

1.문제
2.내 코드


문제

하나의 문자열 s와 하나의 문자 t가 주어지면, s문자열 내의 각 문자에서 t문자가 떨어진 최소거리를 출력하시오.


내 코드

<script>
    function solution(s, t){
        let right_dis=s.indexOf(t);
        let left_dis=100;
        let answer=[right_dis];
        for(i=1;i<s.length;i++){
            right_dis --;
            left_dis ++;
            answer.push(Math.min(right_dis,left_dis));
            if(right_dis===0){
                right_dis = s.indexOf(t,i+1)-(i);
                left_dis = 0;
            }
        }
        return answer;
    }
    let str="teachermode";
    console.log(solution(str, 'e'));
</script>

왼쪽 거리와 오른쪽 거리를 동시에 측정하여 짧은 거리를 가진 변수값을 출력하도록 한다.
⭐️초깃값 왼쪽거리 = 100 이상의 값, 오른쪽 거리 = indexOf(t)
초깃값 설정시 첫번째 문자의 거리 확인.
1️⃣ 반복문 : 문자열 내 각 문자 (1번인덱스 문자부터 끝까지)
2️⃣ 반복문 내 조건문 : 문자 t를 만난 경우.


profile
프론트엔드 개발자가 되고 싶은...

0개의 댓글