공부공간

BOJ - 1120 ) 문자열 본문

알고리즘/구현,시뮬

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

'알고리즘 > 구현,시뮬' 카테고리의 다른 글

BOJ - 5373 ) 큐빙  (0) 2021.10.02
[JAVA] Programmers 위클리 챌린지 1~8주 풀이  (1) 2021.09.30
BOJ - 2417 ) 정수제곱근  (0) 2021.08.01
BOJ - 11728 ) 배열 합치기  (0) 2021.07.29
프로그래머스 ) 음양더하기  (0) 2021.07.19
Comments