[Leetcode] 137. Single Number II
https://leetcode.com/problems/single-number-ii/비어 있지 않은, 숫자로 이루어진 리스트가 주어졌을 때, 해당 리스트 안에 한 번만 등장하는 원소를 찾는 문제
- 단 하나의 원소를 제외하고는 모두 세 번씩 등장한다.
Example 1
- Input : nums = [2,2,3,2]
- Output : 3
Example 2
- Input : nums = [0,1,0,1,0,1,99]
- Output : 99
Note
- set : 원소의 유일성을 보장하는 자료형
- 원소가 모두 세 번씩 등장한다고 가정했을 때의 총합은 3 * sum(set(nums))이고, 하나의 원소만 한 번 등장하므로 뺀 값을 2로 나누어 구할 수 있다.
1
2
3
class Solution:
def singleNumber(self, nums: List[int]) -> int:
return int((3 * sum(set(nums)) - sum(nums)) / 2)