Published:
Updated:

  • μ²˜μŒμ—λŠ” sorted(num)이 κΌ­ ν•„μš”ν•œ 쀄 μ•Œμ•˜λŠ”λ° 정렬을 μ•ˆ ν•΄μ€˜λ„ κ²°κ΅­ 됨
    • ν—·κ°ˆλ¦¬λ©΄ 직접 λ°°μ—΄ example을 생각해 λ³΄μ…ˆ


Solution

from typing import List


class Solution:
    def singleNumber(self, nums: List[int]) -> int:
        answer = 0

        for num in sorted(nums):
            # answer에 num 값을 계속 μ €μž₯ν•˜λŠ”λ°, "^"을 μ‚¬μš©ν•˜μ—¬ μ€‘λ³΅λœ 값이 μ €μž₯λ˜μ§€ μ•Šκ²Œ 함
            # λ§Œμ•½ [2(1), 2(2), 1]이라고 ν–ˆμ„ λ•Œ,
            # 2(1) 이미 μ €μž₯λ˜μ–΄ 있으면 2(1)κ³Ό 2(1)의 "^" 연산은 0이 됨
            # 즉, μ΅œμ’…μ μœΌλ‘œ μ€‘λ³΅λ˜μ§€ μ•ŠλŠ” 값이 μ €μž₯λ˜λŠ” 거지
            answer = answer ^ num

        return answer


Reference

Leave a comment