https://leetcode.com/problems/most-popular-video-creator/
쉬운듯 아닌듯 은근 복잡하고 지저분함
class Solution:
def mostPopularCreator(self, creators: List[str], ids: List[str], views: List[int]) -> List[List[str]]:
viewsum = defaultdict(int)
maxviews = 0
highestView = {}
highestViewId = {}
for i in range(len(creators)):
creator = creators[i]
viewsum[creator] += views[i]
maxviews = max(maxviews, viewsum[creator])
if creator not in highestView:
highestView[creator] = views[i]
highestViewId[creator] = ids[i]
if highestView[creator] < views[i]:
highestView[creator] = views[i]
highestViewId[creator] = ids[i]
elif highestView[creator] == views[i]:
highestViewId[creator] = min(highestViewId[creator], ids[i])
mostPopulars = [c for c in set(creators) if viewsum[c] == maxviews]
mostPopulars.sort()
return [[c, highestViewId[c]] for c in mostPopulars]
'코딩 테스트 및 알고리즘 > leetcode for google' 카테고리의 다른 글
leetcode hard : Height of Binary Tree After Subtree Removal Queries (0) | 2022.11.04 |
---|---|
leetcode medium : Minimum Addition to Make Integer Beautiful (0) | 2022.11.04 |
leetcode medium : 3Sum Closest (0) | 2022.11.04 |
leetcode hard : Stamping The Sequence (0) | 2022.11.04 |
leetcode medium : Maximum Length of a Concatenated String with Unique Characters (0) | 2022.10.29 |