Algorithm
- ๋ฌธ์์ด -
๋ฌธ์
๊ธธ์ด๊ฐ N์ผ๋ก ๊ฐ์ ๋ฌธ์์ด X์ Y๊ฐ ์์ ๋, ๋ ๋ฌธ์์ด X์ Y์ ์ฐจ์ด๋ X[i] ≠ Y[i]์ธ i์ ๊ฐ์์ด๋ค.
์๋ฅผ ๋ค์ด, X = "jimin", Y = "minji"์ด๋ฉด, ๋์ ์ฐจ์ด๋ 4์ด๋ค.
๋ ๋ฌธ์์ด A์ B๊ฐ ์ฃผ์ด์ง๋ค.
์ด๋, A์ ๊ธธ์ด๋ B์ ๊ธธ์ด๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค.
์ด์ A์ ๊ธธ์ด๊ฐ B์ ๊ธธ์ด์ ๊ฐ์์ง ๋๊น์ง ๋ค์๊ณผ ๊ฐ์ ์ฐ์ฐ์ ํ ์ ์๋ค.
1. A์ ์์ ์๋ฌด ์ํ๋ฒณ์ด๋ ์ถ๊ฐํ๋ค.
2. A์ ๋ค์ ์๋ฌด ์ํ๋ฒณ์ด๋ ์ถ๊ฐํ๋ค.
์ด๋, A์ B์ ๊ธธ์ด๊ฐ ๊ฐ์ผ๋ฉด์, A์ B์ ์ฐจ์ด๋ฅผ ์ต์๋ก ํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ์ถ๋ ฅ ์์
A์ B์ ๊ธธ์ด๊ฐ ๊ฐ์ผ๋ฉด์, A์ B์ ์ฐจ์ด๋ฅผ ์ต์๊ฐ ๋๋๋ก ํ์ ๋, ๊ทธ ์ฐจ์ด๋ฅผ ์ถ๋ ฅํ์์ค.
๋ฌธ์ ํ๊ธฐ
let fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().split(" ");
let word1 = input[0].slice().split("");
let word2 = input[1].slice().split("");
let gap = [];
for (let i = 0; i <= input[1].length - input[0].length; i++) {
let difference = word1.filter((el, idx) => el !== word2[idx + i]).length;
gap.push(difference);
}
console.log(Math.min(...gap));
๋ฐ์ํ
'๊ฐ์ธ๊ณต๋ถ > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค][Node.js] 1157๋ฒ : ๋จ์ด ๊ณต๋ถ (0) | 2021.06.06 |
---|---|
[๋ฐฑ์ค][Node.js] 1152๋ฒ : ๋จ์ด์ ๊ฐ์ (0) | 2021.06.05 |
[๋ฐฑ์ค][Node.js] 1100๋ฒ : ํ์ ์นธ (0) | 2021.06.03 |
[๋ฐฑ์ค][Node.js] 1076๋ฒ : ์ ํญ (0) | 2021.06.03 |
[๋ฐฑ์ค][Node.js] 1032๋ฒ : ๋ช ๋ น ํ๋กฌํํธ (0) | 2021.06.02 |
๋๊ธ