❗ 풀이
let [X,Y] = require('fs').readFileSync('dev/stdin').toString().trim().split(" ");
let min = Y.length;
for (let i = 0; i <= Y.length - X.length; i++) {
let diff = 0;
for (let j = 0; j < X.length; j++) {
if (X[j] !== Y[i+j]) {
diff++;
}
}
min = Math.min(min, diff);
}
console.log(min);
1. 최소 차이값을 min 변수에 저장
2. Y 문자열에서 X 문자열이 들어갈 수 있는 모든 위치를 탐색
3. 반복 시 현재 값들의 차이값을 계산
4. 최소 차이값 결과 출력
ex)
abc = X , abcd = Y 일 때 -> 길이 차이는 1이 나므로 2번만 반복하면됨
X[0] = a / Y[0] = a , X[1] = b / Y[1] = b , X[2] = c / Y[2] = c 를 하나하나 탐색하며 비교 -> 차이값은 0
다음으로는 abcd를 0,1,2번 인덱스 값을 탐색하였으니 1,2,3번을 탐색함
X[0] = a / Y[1] = b , X[1] = b / Y[2] = c , X[2] = c / Y[3] = d 를 하나하나 탐색하며 비교 -> 차이값은 3
반복문이 끝났을 때 0과 3을 비교했을 때 작은값을 min에 저장
min 결과 출력
끝
'알고리즘 풀이' 카테고리의 다른 글
[JAVASCRIPT] 백준 10798번 문제 풀이 (0) | 2023.04.07 |
---|---|
[JAVASCRIPT] 백준 1026번 문제 풀이 (0) | 2023.04.04 |
[JAVASCRIPT] 백준 1032번 문제 풀이 (0) | 2023.02.23 |
[JAVASCRIPT] 백준 4949번 문제 풀이 (0) | 2023.02.10 |
[JAVASCRIPT] 백준 1302번 문제 풀이 (0) | 2023.02.07 |