7차시. 텍스트 분할 이해
퀴즈 1 — 이웃 조각의 겹침 확인하기
두 이웃 조각이 overlap 문자열을 공유하는지 확인하세요.
빈칸 코드에서 시작합니다.
def shares_boundary(left, right, overlap):
pass결과 보기 (예시 풀이)
# 퀴즈 1. 이웃 조각이 overlap 문자열을 함께 갖는지 확인하기
# check_overlap.py에서 눈으로 보던 "앞 조각 끝 = 뒤 조각 앞"을 코드로 판정합니다.
def shares_boundary(left, right, overlap):
# 겹치는 글이 빈 문자열이면 판정할 거리가 없으므로 False입니다.
# (빈 문자열은 어떤 문자열에도 endswith/startswith가 True라서 먼저 걸러야 합니다.)
if not overlap:
return False
# 앞 조각은 overlap으로 끝나고, 뒤 조각은 overlap으로 시작해야 합니다.
return left.endswith(overlap) and right.startswith(overlap)
# 수업 자료 3-2)의 예를 짧게 줄였습니다. 두 조각이 "7일 이내에 신청해야 합니다."를 함께 갖습니다.
left = "환불은 상품 수령일로부터 7일 이내에 신청해야 합니다."
right = "7일 이내에 신청해야 합니다. 단, 상품이 훼손된 경우..."
same = "7일 이내에 신청해야 합니다."
# 확인 1: overlap이 제대로 들어간 경우 → True
print(shares_boundary(left, right, same))
# 확인 2: overlap=0으로 잘라 뒤 조각에 겹침이 없는 경우 → False
print(shares_boundary("...7일 이내에 신청해", "야 합니다. 단, 상품이...", same))
# 확인 3: 겹치는 글이 비어 있으면 → False
print(shares_boundary(left, right, ""))
실행 결과
True
False
False채점 기준: overlap이 비어 있으면 False. 앞 조각 끝과 뒤 조각 앞이 같으면 True.