๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๊ฐœ์ธ๊ณต๋ถ€/Algorithm

[๋ฐฑ์ค€][Node.js] 1120๋ฒˆ : ๋ฌธ์ž์—ด

by ๐Ÿ‡๋ฐ•๋ด‰๋ด‰๐Ÿ‡ 2021. 6. 4.

 

 

 

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));

 

 

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€