๐ Language & CS knowledge/Algorithm (๊ธฐ์ด๋ฌธ์ ํ์ด)
๊ฐ์ฅ ์งง์ ๋ฌธ์๊ฑฐ๋ฆฌ(๋ฌธ์์ด ํ์)
Daehyunii
2022. 8. 31. 23:51
๋ฌธ์ (์ถ์ฒ : ์ธํ๋ฐ ์๋ฐ์คํฌ๋ฆฝํธ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด ๊ฐ์, ์ ๋ณด์ฌ๋ฆผํผ์๋)
ํ ๊ฐ์ ๋ฌธ์์ด s์ ๋ฌธ์ t๊ฐ ์ฃผ์ด์ง๋ฉด ๋ฌธ์์ด s์ ๊ฐ ๋ฌธ์๊ฐ ๋ฌธ์ t์ ๋จ์ด์ง ์ต์๊ฑฐ๋ฆฌ๋ฅผ ์ถ ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
โฃ ์
๋ ฅ์ค๋ช
์ฒซ ๋ฒ์งธ ์ค์ ๋ฌธ์์ด s์ ๋ฌธ์ t๊ฐ ์ฃผ์ด์ง๋ค. ๋ฌธ์์ด๊ณผ ๋ฌธ์๋ ์๋ฌธ์๋ก๋ง ์ฃผ์ด์ง๋๋ค. ๋ฌธ์์ด์ ๊ธธ์ด๋ 100์ ๋์ง ์๋๋ค.
โฃ ์ถ๋ ฅ์ค๋ช
์ฒซ ๋ฒ์งธ ์ค์ ๊ฐ ๋ฌธ์์ด s์ ๊ฐ ๋ฌธ์๊ฐ ๋ฌธ์ t์ ๋จ์ด์ง ๊ฑฐ๋ฆฌ๋ฅผ ์์๋๋ก ์ถ๋ ฅํ๋ค.
โฃ ์ ๋ ฅ์์ 1
teachermode e
โฃ ์ถ๋ ฅ์์ 1
10121012210
Tip

๋ฌธ์ ํ์ด
//๊ฐ์ ๋ฃ๊ณ ๋ด๊ฐ ๋ค์ ์์ฑํ ๋ต
function solution(str, t){
let result = [];
let point = 1000;
for(let i = 0 ; i < str.length ; i++){
if(str[i] === t){
point = 0;
result.push(point);
}else{
point++;
result.push(point);
}
}
point = 1000;
for(let j = str.length-1 ; j >= 0 ; j--){
if(str[j] === t){
point = 0;
}else{
point++;
result[j] = Math.min(result[j], point);
}
}
return result;
}
let str3="teachermode";
console.log(solution(str3, 'e'));