편집 시간: 2022년 2월 18일 오후 6:45
잘못된 풀이
first = input()
second = input()
cache = [(0, 9999) for _ in range(len(first))]
def find_indexes_in_second(char):
result = []
for i in range(len(second)):
if second[i] == char:
result.append(i)
return result
for i in range(len(first)):
char = first[i]
indexes = find_indexes_in_second(char)
if len(indexes) == 0:
continue
cache[i] = (1, indexes[0])
for j in range(i):
max_length = cache[j][0]
last_index = cache[j][1]
for index in indexes:
if last_index < index:
if cache[i][0] < max_length + 1:
cache[i] = (max_length + 1, index)
break
elif cache[i][0] == max_length + 1 and index < cache[i][1]:
cache[i] = (max_length + 1, index)
break
print(max(cache)[0])