function solution(str, t) {
let answer = [];
let q = [];
for (let i = 0; i < str.length; i++) {
if (str[i] === t) {
answer[i] = 0;
continue;
}
q.push([str[i], 1]);
while (q.length > 0) {
const [c, num] = q.shift();
const left = i - num;
const right = i + num;
if (c === undefined) continue;
if (c !== t) {
q.push([str[left], num + 1], [str[right], num + 1]);
}
if (c === t) {
answer[i] = num - 1;
q = [];
}
}
}
console.log(answer);
}
요소의 왼쪽, 오른쪽 값들을 q에 넣어 bfs 형식으로 풀어봤는데 괜찮을까요?