1. 아나그램
def ana(word1,word2):
    list1 = list(word1)
    list2 = list(word2)

    wordHash = {}

    for item in list1:
        if item in wordHash:
            wordHash[item] += 1
        else:
            wordHash[item] = 1

    for i in list2:
        if wordHash[i] == 0:
          return False
        else:
          wordHash[i] -= 1

    return True

ana("tom","mot")

아나그램은 같은 알파벳으로 이루어진 다른단어이다. 두단어를 받아서 두개가 같은 알파벳으로 이루어져있는지 확인한다. 같으면 True 다르면 False를 반환한다.

아무래도 True인조건보다 False인 조건이 많을것이다.

첫번째 루프에서는 숫자가 늘기만한다. 그래서 0이 될수 없어요.

두번째루프틑 무조건 줄이기만해요. 따라서 이미 0인것을 줄이는 경우는 list1보다 많은 단어가 들어갔다는것을 뜻해요.

results matching ""

    No results matching ""