Updated:

๐Ÿ–๏ธย 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์˜ ๋นˆ์ž๋ฆฌ์— ์–ด๋–ค ๊ธ€์ž๋ฅผ ๋„ฃ์„์ง€ ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ์˜ ์ˆ˜๋Š” ๊ณ ๋ คํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.

A๋ฅผ B์˜ ํ•˜์œ„ ๋ฌธ์ž์—ด์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  B์˜ ๊ฐ€์žฅ ์™ผ์ชฝ๋ถ€ํ„ฐ A์˜ ๊ธธ์ด๋งŒํผ์˜ ๋ฌธ์ž์—ด๊ณผ A๋ฅผ ๋Œ€์กฐํ•ด ์ฐจ์ด๋ฅผ ๊ตฌํ•˜๊ณ , ๊ทธ๋‹ค์Œ B์˜ ๊ฐ€์žฅ ์™ผ์ชฝ+1๋ถ€ํ„ฐ A์˜ ๊ธธ์ด๋งŒํผ์˜ ๋ฌธ์ž์—ด๊ณผ ๋‹ค์‹œ ์ฐจ์ด๋ฅผ ๊ตฌํ•˜๊ณ , ์ด ๊ณผ์ •์„ ๊ณ„์† ๋ฐ˜๋ณตํ•ด ๊ฐ€์žฅ ์ตœ์†Œ๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ์˜ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋ฉด ์ •๋‹ต์ด ๋œ๋‹ค.

Leave a comment