그리디 문제.
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)
코드도 설명도 짧다.
'BOJ' 카테고리의 다른 글
백준(BOJ) 13334 철로(Python) (0) | 2023.01.29 |
---|---|
백준(BOJ) 13418 학교 탐방하기(Python) (0) | 2023.01.29 |
백준(BOJ) 24524 아름다운 문자열(Python) (0) | 2023.01.14 |
백준(BOJ) 14171 Cities and States(Python) (1) | 2023.01.14 |
백준(BOJ) 10942 팰린드롬?(Python) (0) | 2023.01.14 |