728x90
๐ 27 - ๊ฐ์ฅ ์งง์ ๋ฌธ์๊ฑฐ๋ฆฌ
target
์ด ๋ฌธ์์ด s
์์ ๋จ์ด์ง ์ต์๊ฑฐ๋ฆฌ๋ฅผ ์ถ๋ ฅํ๋ ๋ฌธ์ ๋ค. ์ฌ๊ธฐ์ ๊ณ ๋ คํด์ผํ๋ ์ ์ด ์๋๋ฐ, ์ฒ์์ cnt = 0
์ผ๋ก ์ด๊ธฐํํ๊ณ ๋ฌธ์ ๋ฅผ ํ๊ณ ๋์ ๊ฐ์๋ฅผ ๋ค์ด๋ณด๋๊น ๋งจ ์ข์ธก์ ๊ธฐ์ค์ผ๋ก ํ๋จํ ๋๋ ๋งจ ์ข์ธก์ target
์ด ์์ผ๋ฏ๋ก cnt
๋ฅผ ์ ์ผ ํฐ ์ซ์๋ก ์ด๊ธฐํํด์ผํ๋ค๋ ๊ฒ์ด๋ค. ๊ทธ๋ ๊ฒํด์ผ reverse
๋ก ๊ฒ์ฌํ ๋๋ ์ฌ๋ฐ๋ฅธ ๋ต์ ๋์ถํด๋ผ ์ ์๋ค.
์ ์ดํด๊ฐ ๋์ง ์๋๋ค๋ฉด ํ
์คํธ ์ผ์ด์ค
์
๋ ฅ: tteachermodett
์ถ๋ ฅ: 2 1 0 1 2 1 0 1 2 2 1 0 1 2
์ ๊ฐ์ด ๋์ค๋์ง ํ์ธํด๋ณด์.
let s = "teachermode";
let target = "e";
console.log(solution(s, target));
// ๋์์ฝ๋
function solution(s, target) {
let n = s.length;
let cnt = 1000;
let answer = [];
for (let i = 0; i < n; i++) {
if (s[i] === target) cnt = 0;
else cnt++;
answer.push(cnt);
console.log(answer);
}
cnt = 1000;
for (let i = 0; i < n; i++) {
if (s[n - i - 1] === target) cnt = 0;
else cnt++;
answer[n - i - 1] = Math.min(answer[n - i - 1], cnt);
}
return answer.join(" ");
}
๋ฐ์ํ
'Algorithm > ์ธํ๋ฐ(inflearn)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ ์๋ฐ์คํฌ๋ฆฝํธ(JavaScript) ] section04 - 1 - ์๋ฆฟ์์ ํฉ (0) | 2021.08.22 |
---|---|
[ ์๋ฐ์คํฌ๋ฆฝํธ(JavaScript) ] 28 - ๋ฌธ์์ด ์์ถ (0) | 2021.08.17 |
[ ์๋ฐ์คํฌ๋ฆฝํธ(JavaScript) ] 26 - ์ซ์๋ง ์ถ์ถ (0) | 2021.08.17 |
[ ์๋ฐ์คํฌ๋ฆฝํธ(JavaScript) ] 25 - ์ ํจํ ํฐ๋ฆฐ๋๋กฌ (0) | 2021.08.17 |
[ ์๋ฐ์คํฌ๋ฆฝํธ(JavaScript) ] 24 - ํ๋ฌธ ๋ฌธ์์ด (0) | 2021.08.17 |
๋๊ธ