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

할루님의 프로필 이미지

작성한 질문수

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

4. 문자거리

4번 풀이 한번 봐주시면 감사하겠습니다

작성

·

172

0

function solution(str, t) {
  let answer = "";
  for (let i in str) {
    let min = 1000;
    for (let j in str) {
      if (str[j] === t) {
        let dist = Math.abs(i - j);
        min = min > dist ? dist : min;
      }
    }
    answer += `${min} `;
  }

  return answer;
}
console.log(solution("teachermode", "e"));
 
이렇게 풀어봤는데 괜찮을까요??? (시간 복잡도는 더 안좋은거죠?)
 
그리고 혹시 문자 t가 해당 문자열에 아예 존재하지 않는 경우에 대한 예외처리는 할 필요없을까요?
 

답변 1

1

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

안녕하세요^^

일단 2중 for문을 사용한 것은 조금 아쉽습니다. 

t 문자는 항상 존재한다고 생각하시면 됩니다.

할루님의 프로필 이미지

작성한 질문수

질문하기