[백준 / 실버4] 1120 문자열 (Java)

wannabeking·2022년 10월 11일
0

코딩테스트

목록 보기
112/155

문제 보기



사용한 것

  • 전체를 탐색하기 위한 브루트 포스


풀이 방법

  • 크기가 같아질 때까지 문자를 앞, 뒤로 추가할 수 있다. -> 현재의 차이가 최대이다.
  • 먼저 입력 받은 문자열이 이후 입력 받은 문자열의 길이보다 항상 같거나 작으므로, 이후의 문자열의 크기를 맞춰 차이의 최소를 구해 출력한다.


코드

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] line = br.readLine().split(" ");
        String lStr = line[0];
        String rStr = line[1];

        int answer = Integer.MAX_VALUE;
        for (int i = 0; i <= rStr.length() - lStr.length(); i++) {
            int mismatch = 0;
            for (int j = 0; j < lStr.length(); j++) {
                if (lStr.charAt(j) != rStr.charAt(j + i)) {
                    mismatch++;
                }
            }
            answer = Math.min(mismatch, answer);
        }

        System.out.println(answer);
    }
}


profile
내일은 개발왕 😎

0개의 댓글