์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฐฑ์ค€

[ ๋ฐฑ์ค€ / BOJ 1120] ๋ฌธ์ž์—ด

KIMHYEYUN 2021. 9. 29. 20:58
๋ฐ˜์‘ํ˜•

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

๋ฌธ์ œ


๊ธธ์ด๊ฐ€ N์œผ๋กœ ๊ฐ™์€ ๋ฌธ์ž์—ด X์™€ Y๊ฐ€ ์žˆ์„ ๋•Œ, ๋‘ ๋ฌธ์ž์—ด X์™€ Y์˜ ์ฐจ์ด๋Š” X[i] ≠ Y[i]์ธ i์˜ ๊ฐœ์ˆ˜์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, X=”jimin”, Y=”minji”์ด๋ฉด, ๋‘˜์˜ ์ฐจ์ด๋Š” 4์ด๋‹ค.

๋‘ ๋ฌธ์ž์—ด A์™€ B๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด๋•Œ, A์˜ ๊ธธ์ด๋Š” B์˜ ๊ธธ์ด๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ์ด์ œ A์˜ ๊ธธ์ด๊ฐ€ B์˜ ๊ธธ์ด์™€ ๊ฐ™์•„์งˆ ๋•Œ ๊นŒ์ง€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์—ฐ์‚ฐ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

  1. A์˜ ์•ž์— ์•„๋ฌด ์•ŒํŒŒ๋ฒณ์ด๋‚˜ ์ถ”๊ฐ€ํ•œ๋‹ค.
  2. A์˜ ๋’ค์— ์•„๋ฌด ์•ŒํŒŒ๋ฒณ์ด๋‚˜ ์ถ”๊ฐ€ํ•œ๋‹ค.

์ด๋•Œ, A์™€ B์˜ ๊ธธ์ด๊ฐ€ ๊ฐ™์œผ๋ฉด์„œ, A์™€ B์˜ ์ฐจ์ด๋ฅผ ์ตœ์†Œ๋กœ ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ


์ฒซ์งธ ์ค„์— A์™€ B๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. A์™€ B์˜ ๊ธธ์ด๋Š” ์ตœ๋Œ€ 50์ด๊ณ , A์˜ ๊ธธ์ด๋Š” B์˜ ๊ธธ์ด๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๊ณ , ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

 

์ถœ๋ ฅ


A์™€ B์˜ ๊ธธ์ด๊ฐ€ ๊ฐ™์œผ๋ฉด์„œ, A์™€ B์˜ ์ฐจ์ด๋ฅผ ์ตœ์†Œ๊ฐ€ ๋˜๋„๋ก ํ–ˆ์„ ๋•Œ, ๊ทธ ์ฐจ์ด๋ฅผ ์ถœ๋ ฅํ•˜์‹œ์˜ค.

ํ’€์ด


์ถ”๊ฐ€ํ•  ๋ฌธ์ž๋Š” ๊ฐ™์€ ๋ฌธ์ž๋ฅผ ๋„ฃ์œผ๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ œ์™ธํ•œ๋‹คโ€ผ๏ธ

๊ทธ๋ž˜์„œ A์˜ ๊ธธ์ด ๋งŒํผ B์™€ ๋น„๊ตํ•˜๋ฉด ๋˜๋Š”๋ฐ, A์˜ ์•ž ๋˜๋Š” ๋’ค์— ๋ฌธ์ž๋ฅผ ๋„ฃ๊ธฐ ๋•Œ๋ฌธ์— ( ๏นฆ ๊ฐ€์šด๋ฐ์— ๋ฌธ์ž๊ฐ€ ๋“ค์–ด๊ฐ€์ง€์•Š์Œ )

B์˜ ๋งจ ์•ž๋ถ€ํ„ฐ ๋’ค๋กœ ๋ฐ€์–ด๊ฐ€๋ฉด์„œ ๋น„๊ตํ•˜๊ณ , ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ๊ตฌํ•ด์ฃผ์—ˆ๋‹ค.๐Ÿ™‹‍โ™€๏ธ

์ฝ”๋“œ


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

public class Main_BOJ_1120_๋ฌธ์ž์—ด {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer stringTokenizer = new StringTokenizer(br.readLine());

        String A = stringTokenizer.nextToken();
        String B = stringTokenizer.nextToken();

        int aLen = A.length();
        int bLen = B.length();
        
        int answer = Integer.MAX_VALUE;
        for(int i = 0 ; i < bLen-aLen+1; i++){
            int cnt = 0;

            for(int j = i ; j < i+aLen ; j++){
                if(A.charAt(j-i) != B.charAt(j))
                    cnt++;
            }

            answer = Math.min(answer,cnt);
        }

        System.out.println(answer);

    }
    
}

 

728x90
๋ฐ˜์‘ํ˜•