알고리즘/구현,시뮬
BOJ - 1120 ) 문자열
개발자가될수있을까?
2021. 9. 13. 22:45
https://www.acmicpc.net/problem/1120
1120번: 문자열
길이가 N으로 같은 문자열 X와 Y가 있을 때, 두 문자열 X와 Y의 차이는 X[i] ≠ Y[i]인 i의 개수이다. 예를 들어, X=”jimin”, Y=”minji”이면, 둘의 차이는 4이다. 두 문자열 A와 B가 주어진다. 이때, A의
www.acmicpc.net
두 문자열의 차이를 최소로하기위하여, 이후 추가하는 문자열은 같다고 생각한다.
즉 긴문자열에 대해서 짧은 문자열을 이동시키면서 다름이 최소가되는 값을 찾으면 된다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class 문자열1120 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
String a , b ;
a = st.nextToken();
b = st.nextToken();
int min = 51;
for(int i=0;i<=b.length()-a.length();i++) {
int cnt =0;
for(int j=0;j<a.length();j++) {
if(a.charAt(j) != b.charAt(j+i)) {
cnt++;
}
}
min = min > cnt ? cnt : min;
}
System.out.println(min);
}
}