본문 바로가기
Leetcode

[LeetCode] Single Number python (linear complexity)

by YGSEO 2021. 4. 1.
728x90
class Solution:
    def singleNumber(self, nums: List[int]) -> int:
        for i in range(len(nums)):
            if nums.count(nums[i]) == 1:
                return nums[i]

count 활용해서 하긴 했는데 통과 못할 줄 알았는데 통과가 되었다.

역시 하위 93%의 속도 😱


다른 풀이(136ms):

dict 사용

class Solution:
    def singleNumber(self, nums: List[int]) -> int:
        seen = {}
        for i in range(len(nums)):
            if nums[i] not in seen:
                seen[nums[i]] = 1
            else:
                seen[nums[i]] += 1
        for k,v in seen.items():
            if v == 1:
                return k

seen.items()을 꼭 잊지말고

dict를 iterable하게 쓰려면 items()를 붙여줘야 한다.

728x90

댓글