[ ๋ฐฑ์ค / BOJ 1120] ๋ฌธ์์ด
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์ ๊ธธ์ด์ ๊ฐ์์ง ๋ ๊น์ง ๋ค์๊ณผ ๊ฐ์ ์ฐ์ฐ์ ํ ์ ์๋ค.
- A์ ์์ ์๋ฌด ์ํ๋ฒณ์ด๋ ์ถ๊ฐํ๋ค.
- 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);
}
}