
알고리즘 분류 : 문자열
난이도 : 실버4
출처 : 백준 - 문자열


편의를 위해 앞 문자열이 더 길도록 swap한다.
2중 for문을 이용해 두 문자열을 모든 경우에서 전부 비교한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer st = new StringTokenizer(br.readLine()," ");
String word1 = st.nextToken();
String word2 = st.nextToken();
String temp="";
if(word1.length() < word2.length()) {
temp = word1;
word1 = word2;
word2 = temp;
}
int min = 51;
for(int i=0;i<=word1.length()-word2.length();i++) {
int num = 0;
for(int j=0;j<word2.length();j++) {
if(word1.charAt(j+i)!=word2.charAt(j))
num++;
}
min = Math.min(min,num);
}
System.out.println(min);
}
}

크게 머리쓸 필요가 없이 모든 경우를 전부 비교하여 최소값을 찾아주면 되는 문제다.