๐ฉโ๐ป๐ [baekjoon] 1120๋ฒ: ๋ฌธ์์ด
๐๏ธย solution
import sys
"""
[์๊ฐ]
1) 22:10 ~ 22:32
[์์ฝ]
1) ๋ ๋ฌธ์์ด X์ Y์ ์ฐจ์ด: X[i] โ Y[i]์ธ i์ ๊ฐ์
- X=โjiminโ, Y=โminjiโ์ด๋ฉด, ๋์ ์ฐจ์ด๋ 4
2) A โค B, ๋ ๋ฌธ์์ด์ ๊ธธ์ด๊ฐ ๋๊ฐ์ ์ง๋๋ก ์๋ ์ฐ์ฐ ์ ํ
- A์ ์์ ์๋ฌด ์ํ๋ฒณ์ด๋ ์ถ๊ฐํ๋ค.
- A์ ๋ค์ ์๋ฌด ์ํ๋ฒณ์ด๋ ์ถ๊ฐํ๋ค.
=> A์ B์ ๊ธธ์ด๊ฐ ๊ฐ์ผ๋ฉด์, A์ B์ ์ฐจ์ด๋ฅผ ์ต์๋ก ํ๋ ํ๋ก๊ทธ๋จ
"""
a, b = map(str, sys.stdin.readline().split())
slicer, checker = len(a), len(b) - len(a) + 1
tmp_min = 99999
for i in range(checker):
count = 0
tmp_b = b[i:i+slicer]
for j in range(slicer):
if a[j] != tmp_b[j]:
count += 1
tmp_min = min(tmp_min, count)
print(tmp_min)
๐กย idea
- 1) ๋ ๋ฌธ์์ด์ ๊ธธ์ด ์ฐจ์ด ๊ตฌํ๊ธฐ
- ๋ฌธ์์ด A๋ฅผ B์
subsequence
๋ก ๊ฐ์ฃผํ๊ณ , ๊ฐ์ฅ ์ผ์ชฝ ์๋ฆฌ๋ถํฐ ์ฐจ๋ก๋ก ๋์ - A์ B์ ์ฐจ์ด๋ฅผ ๊ณ์ฐํ๊ณ ์์๋ก ๊ฐ์ ์ ์ฅ, ๊ทธ ์ค์์ ์ต์๊ฐ์ ๊ฒฐ๊ณผ๋ก ์ถ๋ ฅ
- ๋ฌธ์์ด A๋ฅผ B์
๋ฌธ์ ๋ ๋ ๋ฌธ์์ด์ ์ฐจ์ด๊ฐ ์ต์๊ฐ ๋๋๋ก ๋ฌธ์์ด A๋ฅผ ์ ์ ํ ์กฐ์ํ๋ ๊ฒ์ด์๋ค. ๋ค๋ง ์ฐจ์ด๊ฐ ์ต์๊ฐ ๋๋ ๋ฐฉํฅ์ผ๋ก ์กฐ์ํ๋ ค๋ฉด ๋ฌด์กฐ๊ฑด ๋น ์๋ฆฌ์์ B์ ๊ธ์๋ฅผ ๊ทธ๋๋ก ๋์ ํ๋ฉด ๋๋ค. ๋ฐ๋ผ์ A์ ๋น์๋ฆฌ์ ์ด๋ค ๊ธ์๋ฅผ ๋ฃ์์ง ๊ทธ๋ฐ ๊ฒฝ์ฐ์ ์๋ ๊ณ ๋ คํ ํ์๊ฐ ์๋ค.
A๋ฅผ B์ ํ์ ๋ฌธ์์ด์ด๋ผ๊ณ ์๊ฐํ๊ณ B์ ๊ฐ์ฅ ์ผ์ชฝ๋ถํฐ A์ ๊ธธ์ด๋งํผ์ ๋ฌธ์์ด๊ณผ A๋ฅผ ๋์กฐํด ์ฐจ์ด๋ฅผ ๊ตฌํ๊ณ , ๊ทธ๋ค์ B์ ๊ฐ์ฅ ์ผ์ชฝ+1๋ถํฐ A์ ๊ธธ์ด๋งํผ์ ๋ฌธ์์ด๊ณผ ๋ค์ ์ฐจ์ด๋ฅผ ๊ตฌํ๊ณ , ์ด ๊ณผ์ ์ ๊ณ์ ๋ฐ๋ณตํด ๊ฐ์ฅ ์ต์๊ฐ ๋๋ ๊ฒฝ์ฐ์ ๊ฐ์ ์ถ๋ ฅํ๋ฉด ์ ๋ต์ด ๋๋ค.
Leave a comment