(leetcode) Group Anagrams
문자열 배열을 받아 애너그램 단위로 그룹핑 하라. (애너그램이란 문자를 재배열하여 다른 뜻을 가진 단어로 바꾸는 것을 말한다.) 입력 strs = ["eat","tea","tan","ate","nat","bat"] 출력 [["bat"],["nat","tan"],["ate","eat","tea"]] from collections import defaultdict class Solution: def groupAnagrams(self, strs: List[str]) -> List[List[str]]: anagrams = defaultdict(list) for word in strs: anagrams[''.join(sorted(word))].append(word) return anagrams.values() 애..
2021. 1. 4.
(leetcode) Reorder Data in Log Files
로그파일 재정렬 기준은 아래와 같다. 로그의 가장 앞부분은 식별자다 문자로 구성된 로그가 숫자로그보다 앞에 온다 식별자는 순서에 영향을 끼치지 않지만 문자가 동일할 경우 식별자 순으로 한다. 숫자로그는 입력 순서대로 한다. 입력 logs = ["dig1 8 1 5 1","let1 art can","dig2 3 6","let2 own kit dig","let3 art zero"] 출력 ["let1 art can","let3 art zero","let2 own kit dig","dig1 8 1 5 1","dig2 3 6"] 풀이 class Solution: def reorderLogFiles(self, logs: List[str]) -> List[str]: letters , digits = [], [] fo..
2021. 1. 4.