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

오세현님의 프로필 이미지
오세현

작성한 질문수

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

[가장짧은 문자거리] - 찾으려는 E의 위치를 담고 거리를 비교하는 방식은 어떤가요 ?

작성

·

117

0

function solution(s, t) {
        let answer = [];
        let n = s.length;
        let distance = 0;

        let eArr = [];

        // 문자열의 e 찾아 담아라.
        s.split("").forEach((item, i) => {
          if (item === t) eArr.push(i);
        });

        let arr = [];
        let count = 0;

        // 현재 문자열을 기준으로 e가 담긴 배열의 길이 차이를 뺀 후 최소의 거리 값을 넣어라.
        for (let i = 0; i < n; i++) {
          console.log("현재 s :" + s[i]);
          for (let j = 0; j < eArr.length; j++) {
            let eDistance = eArr[j];
            let diff = Math.abs(i - eDistance);
            arr.push(diff);

            count = Math.min(...arr);
          }
          answer += `${count} `;
          arr = [];
        }
        return answer;
      }

답변 1

0

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

안녕하세요^^

2중 for 문이라서 좋아 보이지는 않습니다. 영상에서 설명하는 방법을 익히시면 좋겠습니다.

오세현님의 프로필 이미지
오세현

작성한 질문수

질문하기