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]

+ Recent posts