한 개의 문자열 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