[백준/1120] 문자열 - JAVA

이지환·2024년 2월 18일

알고리즘(백준) 💻

목록 보기
39/80
post-thumbnail

📌 문제

알고리즘 분류 : 문자열
난이도 : 실버4
출처 : 백준 - 문자열

🦧 문제 풀이 접근

편의를 위해 앞 문자열이 더 길도록 swap한다.
2중 for문을 이용해 두 문자열을 모든 경우에서 전부 비교한다.

💻 code

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        StringTokenizer st = new StringTokenizer(br.readLine()," ");
        String word1 = st.nextToken();
        String word2 = st.nextToken();
        String temp="";
        if(word1.length() < word2.length()) {
            temp = word1;
            word1 = word2;
            word2 = temp;
        }
        int min = 51;
        for(int i=0;i<=word1.length()-word2.length();i++) {
            int num = 0;
            for(int j=0;j<word2.length();j++) {
                if(word1.charAt(j+i)!=word2.charAt(j))
                    num++;
            }
            min = Math.min(min,num);
        }
        System.out.println(min);
    }
}

🥇 결과

🎓 느낀점

크게 머리쓸 필요가 없이 모든 경우를 전부 비교하여 최소값을 찾아주면 되는 문제다.

profile
takeitEasy

0개의 댓글