개발 공부~

[백준 - 1120] 문자열 .java 본문

코딩테스트/백준

[백준 - 1120] 문자열 .java

머밍 2025. 5. 6. 23:15

https://www.acmicpc.net/problem/1120

 

 

 

문제

최대한 문자열 b와 비슷하게 문자열 a에 앞, 뒤로 문자를 추가하여 서로 다른 문자 차이를 최소로 하는것이다

말은 어렵지만 결국 문자열 B에서 A 길이만큼 잘라가며 비교했을 때의 서로 다른 문자 수를 구하면 된다

이 차이만큼 문자를 추가해주면 되기 때문에, 슬라이싱하면서 최소 차이를 찾는 것이 핵심이다

 

답의 최댓값은 길이가 같고 문자열 구성이 다 다를때이기에 문자열 a의 길이이다

 

 

import java.util.*;

public class boj{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String a = sc.next();
        String b = sc.next();

        int count = b.length() - a.length() + 1;
        int answer = a.length();
        for(int i = 0; i < count; i++){
            String str = b.substring(i,i+a.length());
            int c = 0;
            for(int j = 0; j < str.length(); j++){
                if(str.charAt(j) != a.charAt(j)) c++;
            }
            if(c< answer) answer = c;
        }
        System.out.println(answer);

    }

}