BOJ

백준(BOJ) 2195 문자열 복사(Python)

juLeena 2023. 1. 17. 04:15

문제 내용.

 

그리디 문제.

P[s:len(P)]부터 P[s:s+1]까지 끝값을 변화시키며 S에 들어있는지 확인하는데, 들어있다면 현재 끝값을 s로 수정하면서 P의 끝까지 탐색한다.

 

코드는 다음과 같다.

 

# -*- coding: utf-8 -*-
import sys
from collections import deque
import heapq
import bisect
import math
from itertools import product
from itertools import combinations
"""
from itertools import combinations
from itertools import combinations_with_replacement
from itertools import permutations
import copy
"""
#input=sys.stdin.readline
#print=sys.stdout.write
#sys.setrecursionlimit(100000000)

S=input()
P=input()
ans=0
s=0
while s<len(P):
    for i in range(len(P),s,-1):
        if P[s:i] in S:
            s=i
            break
    ans+=1
print(ans)

코드도 설명도 짧다.