Group Anagrams

Sett·2021년 7월 25일
1

문제

https://leetcode.com/problems/group-anagrams/

문제 접근

  1. 문제가 이해가 잘 안감
  2. 출력문을 보고 감을 잡았는데 ["eat","tea","tan","ate","nat","bat"] 이 배열 중에 abt를 가지는 문자는 bat밖에 없고 같은 원리로 ant를 가지는 문자는 nat, tan 이렇게 분류 하는 거 같았다.
  3. 그래서 배열의 한 요소 마다 정렬함수를 이용해서 정렬하고 그 것을 키 값으로 사용해서 Dictionary에 추가함. teaate는 정렬에 의해서 똑같이 aet로 분류될 거 같았다.

소스코드

func groupAnagrams(_ strs: [String]) -> [[String]] {
        var temp = [String: [String]]()
        for i in 0..<strs.count {
            let mytemp = String(strs[i].sorted())
            temp[mytemp, default: []] += [strs[i]]
        }
        return Array(temp.values)
    }

오늘 첨 알았는데 if~else문을 쓰지 않고 default: []로 초기화 할 수 있더라.

profile
안녕하세요

0개의 댓글

관련 채용 정보