https://www.acmicpc.net/problem/1120
[풀이]
- A의 문자열이 더 짧으므로 B의 문자열의 앞부분부터 A의 문자열 길이만큼 for 반복문으로 비교하면된다.
- B의 문자열의 인덱스를 시도한 횟수만큼 더해주는 것에 신경써야한다.
[주의해야할 부분]
- 문자열의 인덱스만 신경쓰면 될 것이라 생각한다.
[코드]
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String input = br.readLine();
StringTokenizer st = new StringTokenizer(input, " ");
String A = st.nextToken();
String B = st.nextToken();
int min_value = Integer.MAX_VALUE;
for (int j = 0; j < B.length() - A.length() + 1; j++) {
int count = 0;
for (int i = 0; i < A.length(); i++) {
if (A.charAt(i) != B.charAt(i + j)) {
count += 1;
}
}
min_value = Math.min(min_value, count);
}
bw.write(String.valueOf(min_value));
bw.flush();
bw.close();
br.close();
}
}
'Algorithm > 백준' 카테고리의 다른 글
백준 1018번 : 체스판 다시 칠하기(Java) (0) | 2021.08.23 |
---|---|
백준 1436번 : 영화감독 숌(Java) (0) | 2021.08.23 |
백준 11720번 : 숫자의 합(Java) (0) | 2021.08.12 |
백준 16395번 : 파스칼의 삼각형(Java) (0) | 2021.08.08 |
백준 1543번 : 문서 검색(Java) (0) | 2021.08.06 |