https://www.hackerrank.com/challenges/abbr/problem
def abbreviation(a, b):
dp = [[0]*(len(b)+1) for _ in range(len(a)+1)]
dp[0][0] = 1
for i in range(len(a)):
for j in range(len(b)+1):
# 현재 차례에서 일치하는 경우
if dp[i][j]:
# 대문자로 바꿨을 때 만족하는 경우
if j < len(b) and a[i].upper() == b[j]:
dp[i+1][j+1] = 1
# 소문자는 제거 가능
if a[i].islower():
dp[i+1][j] = 1
result ="NO"
if dp[-1][-1]:
result = "YES"
return result
피드백 환영!