[Algorithm] 백준 1120 - 문자열 in Python(파이썬)

하이초·2022년 7월 7일
0

Algorithm

목록 보기
10/94
post-thumbnail
post-custom-banner

💡 백준 1120: 문자열

두번째 문자열 - 첫번째 문자열 개수만큼 반복하며 A가 B와 다른 최소 개수 출력

🌱 코드 in Python

알고리즘: Brute Force

import sys

a, b = map(str, sys.stdin.readline().strip().split())
ret = []
for i in range(len(b) - len(a) + 1): // a의 시작점을 변경하여 b문자열을 탐색할 수 있는 횟수
	cnt = 0
	for j in range(len(a)): // a 길이 만큼 전체
		if a[j] != b[i + j]: // b 문자열의 시작점을 변경해가며 a 전체 문장 탐색
			cnt += 1
	ret.append(cnt)
print(min(ret)) // 차이가 가장 적은 경우 선택

b - a만큼 b의 시작점을 변경하여 같은 인덱스 상의 a[i]와 a[i + j]를 비교할 수 있다

문제에서 앞, 뒤 아무 알파벳이나 추가한다는 조건은 남는 위치에 b와 똑같은 알파벳을 추가하면 되는 것이기 때문에
사실상 계산 자체에서는 무시해도 되는 조건이나 마찬가지다

a가 b 속에서 얼마나 많은 부분이 같은 자릿수에 있는지를 찾아내는 것이 관건


🧠 기억하자

인덱스 계산을 얼마나 깔끔하게 하느냐가 중요한 것 같다
공통되는 부분은 최대한 날리고! 예쁘게!
나도 더 어려운 문제도 잘 풀었음 좋겠다!
이번주 스터디용 문제는 언제 풀지 너무 어려웡

백준 1120 바로가기

profile
개발국대가 되는 그 날까지. 지금은 개발 응애.
post-custom-banner

0개의 댓글