백준 1543번 문서 탐색 파이썬

박슬빈·2021년 9월 8일
0

알고리즘

목록 보기
2/40

문제

입력 , 출력

solution

import sys

input = sys.stdin.readline

a = input().strip()
b = input().strip()
cnt = 0
cntstr = 0
bc = len(b)
i = 0
while i <= len(a) - bc:
    if a[i:i + bc] == b:
        cnt += 1
        i = i + bc
    else:
        i += 1
print(cnt)

설명

입력을 받을때 개행문자(\n)이 같이 들어와서 strip으로 제거해주었다.
for문에서 i 값이 안바껴서 while문으로 순차적으로 진행 하였다.
a[i]번째 문자부터 i+bc(b의 문자열의 길이) 까지의 문자랑 b의 문자랑 같을경우 cnt를 1개 더해주고 i + bc를 해주어서 그 b의 문자다음부터 맞는지 체크를 함

후기

접근은 했지만 구현이 생각보다 어려웠다..
구현부분에서는 자신이 있었는데 아직도 많이 부족한것같다...

profile
이것저것합니다

0개의 댓글