2195 - 문자열 복사

LeeKyoungChang·2022년 5월 24일
0

Algorithm

목록 보기
126/203
post-thumbnail

📚 2195 - 문자열 복사

문자열 복사

 

이해

문자열 S가 주어졌을 때, 이 문자열의 부분을 복사하여 P라는 새로운 문자열을 만들려고 한다.
파이썬에서 find() 함수를 사용하면 된다.

  • 현재 P의 i번째 위치를 검색할 때, i 와 i + 1을 붙인게 S에 있다면 i + 2을 붙여보고 S에 있는지 확인한다. (이걸 반복)
  • P의 i번째부터 마지막 인덱스가 S에 있다면 종료한다.

 

소스

import sys  
  
read = sys.stdin.readline  
  
s = read().rstrip()  
p = read().rstrip()  
  
answer = 0  
  
idx = 0  
  
while idx < len(p):  
    copy = ''  
  
    # P의 마지막 구간을 S에서 찾았다면 끝내기  
    if s.find(p[idx:]) != -1:  
        answer += 1  
        break  
  
    for j in range(idx, len(p)):  
        # 현재 인덱스에서 문자를 더해준다.  
        copy += p[j]  
  
        # 만약 더해진 문자가 s안에 없다면, 다음 번에 찾아야할 문자이다.  
        if s.find(copy) == -1:  
            answer += 1  
            idx = j  
            break  
  
print(answer)
스크린샷 2022-05-24 오후 11 36 29

 

profile
"야, (오류 만났어?) 너두 (해결) 할 수 있어"

0개의 댓글