[Algorithm] 가장 짧은 문자거리 (javaScript)

swing·2023년 6월 28일
0

[Algorithm]

목록 보기
51/96

문제

한 개의 문자열 s와 문자 t가 주어지면 문자열 s의 각 문자가 문자 t와 떨어진 최소거리를 출 력하는 프로그램을 작성하세요.

입력설명

첫 번째 줄에 문자열 s와 문자 t가 주어진다. 문자열과 문자는 소문자로만 주어집니다. 문자열의 길이는 100을 넘지 않는다.

출력설명

첫 번째 줄에 각 문자열 s의 각 문자가 문자 t와 떨어진 거리를 순서대로 출력한다.

입출력예제

입력 : teachermode e
출력 : 10121012210

문제 해결

const solution = (input) => {
  const [str, T] = input.split(" ");
  const answer = [];
  let num = 100;

  for (let s of str) {
    if (s === T) {
      num = 0;
      answer.push(num);
    } else {
      num++;
      answer.push(num);
    }
  }

  num = 100;

  for (let i = str.length - 1; i >= 0; i--) {
    if (str[i] === T) {
      num = 0;
    } else {
      num++;
      answer[i] = Math.min(answer[i], num);
    }
  }

  return answer.join(" ");
};

const a = solution("teachermode e");

console.log(a); // 10121012210
profile
if(기록📝) 성장🌱

0개의 댓글