[Code Kata] 같은 알파벳 단어 묶기

do yeon kim·2022년 9월 2일
0
같은 알파벳 단어 묶기



풀이
strs = ['apple','ppeal','star','arts','google','googel','tars','car']


def groupAnagrams(strs):
    result = [] # 리턴 값을 위한 변수
    word_list =[] # 한번 확인 한 값을 제외하기 위한 변수

    for i in range(len(strs)):
        temp_result = [] # 같은 알파벳으로 이루어진 단어를 담기 위한 변수
        temp_result.append(strs[i])
        if strs[i] in word_list:
            continue
        word_list.append(strs[i])

        for j in range(i+1, len(strs)):
            # sorted를 이용해서 각 알파벳으로 이루어진 리스트로 만들 수 있다.
            if sorted(strs[i]) == sorted(strs[j]):
                temp_result.append(strs[j])
                word_list.append(strs[j])
        result.append(temp_result)
    return result


sort 와 sorted

sort()
리스트.sort()는 리스트자료형의 메서드이다. 리스트를 정렬하기 위한 메서드로 원본값을 변경시킨다.
값 자체를 변경하는 메서드이다. 다른 값에 할당하면 None이 나온다.

strs = ['apple','ppeal','star','arts','google','googel','tars','car']

strs.sort()
print(strs) => ['apple', 'arts', 'car', 'googel', 'google', 'ppeal', 'star', 'tars']

a = strs.sort()
print(a) => None

sorted()
sorted( 리스트명 ) 형식으로 내장 함수이며 리스트 원본 값은 그대로이고 정렬 값을 반환한다.

strs = ['apple','ppeal','star','arts','google','googel','tars','car']

a = sorted(strs)
print(a) => ['apple', 'arts', 'car', 'googel', 'google', 'ppeal', 'star', 'tars']

문자열 자체를 sorted()함수로 동작시키면 각각의 문자를 정렬해서 리스트로 반환한다.

a = sorted("hello")
print(a) => ['e', 'h', 'l', 'l', 'o']

0개의 댓글