본문 바로가기
알고리즘/백준

[백준 1120] 문자열 - 자바

by binghe819 2020. 4. 3.

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의 길이는 B의 길이보다 작거나 같다. 이제 A의 길이가 B의 길이와 같아질 때 까지 다음과 같은 연산을 할 수 있다. A의 앞에 아무 알파벳이나 추가한다. A의 뒤에 아무 알파벳이나 추가한다. 이때, A와 B의 길이가 같으

www.acmicpc.net

 

1. 풀이


알파벳 추가까지는 굳이 안해도 되고, 앞으로 넣나, 뒤로 넣나 어차피 정답만을 넣을 것이기 때문에, 뒤로는 신경 안쓰고, 앞으로 한칸씩 미루면서 매치가 안되는 값의 합만 구하면 된다.

 

2. 코드


import java.util.*;

public class Main {
	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		String a = sc.next();
		String b = sc.next();
		
		int result = 100;
		int tmp;
		for(int i = 0; i <= b.length()-a.length(); i++) {
			tmp = 0;
			for(int j = 0; j < a.length(); j++) {
				if(a.charAt(j) != b.charAt(i+j)) {
					tmp++;
				}
			}
			if(tmp < result)
				result = tmp;
		}
		
		System.out.println(result);
		
		sc.close();
		return;
	}
}

 

'알고리즘 > 백준' 카테고리의 다른 글

[백준 1260] DFS와 BFS - 자바  (0) 2020.04.04
[백준 1946] 신입 사원  (0) 2020.04.03
[백준 1541] 잃어버린 괄호  (0) 2020.04.03
[백준 2875] 대회 or 인턴  (0) 2020.04.03
[백준 10610] 30 - 자바  (0) 2020.04.03

댓글