-Code
def sol(s, target):
l = len(old_name)
for start in range(l):
if s[start] == target[0]:
for end in range(start, l):
if s[end] == target[-1]:
gap = (end - start) // (len(target) - 1)
i = 0
while i < len(target):
if s[start + i * gap] == target[i]:
i += 1
elif s[start + i * gap] != target[i]:
break
else:
return 1
return 0
n = int(input())
name = input()
result = 0
for _ in range(n):
old_name = input()
result += sol(old_name, name)
print(result)
코딩을 하다가 맨 처음에 등장하는 해당 단어만 검사하는 식으로 밖이 짜지지 않아서 몇 시간 고민해도 해결이 되지 않아서 해결 원리를 찾아봤습니다. 찾아보고 짜 봤지만 자잘한 부분에서 또 틀려서 더 오래 걸린 문제였습니다. 많이 아쉬운 문제였습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 9242번 폭탄 해체 (0) | 2022.05.14 |
---|---|
[백준/파이썬] 4396번 지뢰 찾기 (0) | 2022.05.14 |
[백준/파이썬] 20114번 미아 노트 (0) | 2022.05.14 |
[백준/파이썬] 4446번 ROT13 (0) | 2022.05.14 |
[백준/파이썬] 14405번 피카츄 (0) | 2022.05.14 |