[LeetCode/Python] 1748. Sum of Unique Elements

ㅎㅎ·2023년 12월 26일
0

LeetCode

목록 보기
3/33

1748. Sum of Unique Elements

풀이

첫 번째 풀이 O(n) Dict

관련 시간복잡도

  • dictget() : O(1)
class Solution(object):
    def sumOfUnique(self, nums):

        count = 0
        d = {}

        for i in range(len(nums)): #O(n)
            if d.get(nums[i], 0) == 0: d[nums[i]] = 1
            else: d[nums[i]] += 1 

        for i in range(len(nums)): #O(n)
            if d[nums[i]] == 1: count += nums[i]
                    
        return count

두 번째 풀이 O(n) Hash

미리 배열을 할당해놓고 시작하기 때문에 첫 번째 풀이보다 공간복잡도가 떨어진다

class Solution(object):
    def sumOfUnique(self, nums):
        table = [0 for i in range(101)]
        
        for n in nums: #O(n)
            table[n] += 1

        count = 0
        for idx, v in enumerate(table): #O(n)
            if v == 1: count += idx

        return count
profile
Backend

0개의 댓글