spell배열 속 문자 하나가 dic에 소속된 문자열에 존재한다면, spell기준으로 만든 spell_bool의 해당 인덱스 위치를 True로 바꾸어주고, 문자열은 replace메서드를 통해 해당 spell에 해당하는 문자를 모두 공백으로 바꾸어준다. 그렇게 한 싸이클이 끝나고 만약 spell안에 있는 문자들로 dic안의 문자열 하나에 모두 포함된다면, sen은 공백을 가지며 spell_bool은 모두 True일 것이다. 이런 것이 하나라도 존재하면 return은 1, 모든 for문이 돌아갔다면 return 1이 될 경우는 없다는 것이니 마지막에 return 2하여 마무리한다.
def solution(spell, dic):
spell_bool = [False]*len(spell)
for index, i in enumerate(dic):
sen = i
for j in spell:
if j in list(sen):
spell_bool[spell.index(j)] = True
sen = sen.replace(j,'',-1)
if sum(spell_bool) == len(spell) and len(sen)==0:
return 1
else:
spell_bool = [False]*len(spell)
return 2