하나의 문자열 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를 만난 경우.