본문 바로가기

enumerate3

[LeetCode] Missing Number 파이썬 class Solution: def missingNumber(self, nums: List[int]) -> int: nums = sorted(nums) for idx, value in enumerate(nums): if idx != nums[idx]: return idx else: return len(nums) enumerate 써서 idx로 확인 [0,1] 같은 경우 n은 2이지만 for문 안에서는 None으로 return 되기 때문에 이와 같은 경우는 for-else문을 써서 for문이 오류없이 종료된다면 [0,1] 같은 경우이기 때문에 return len(nums)를 해준다. 2021. 4. 12.
[LeetCode] Contains Duplicate II 파이썬 (dict) class Solution: def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool: seen = {} for idx, value in enumerate(nums): if value not in seen: seen[value] = [idx] else: seen[value] += [abs(idx - seen[value][-1])] for key in seen.keys(): if len(seen[key])>1: if sum( [x 0: return True return False seen 이라는 dict를 만들어서 value 들은 list 형식으로 추가해서 duplicate일 경우(seen에 있는 key일 경우) 현재 위치 - 기존의 가장 최근.. 2021. 4. 5.
[LeetCode] Two Sum 파이썬 (dict, if ~ in) 풀이: class Solution: def twoSum(self, nums, target): seen = {} for i, v in enumerate(nums): remaining = target - v if remaining in seen: return [seen[remaining], i] seen[v] = i return [] enumerate를 사용해서 nums 리스트를 순회한다. target과 nums의 element를 뺀 나머지(remaining)가 seen의 key값으로 존재하는지 확인 존재한다면, seen의 remaininig 키값의 value와 현재 index(i)를 리스트의 원소로 각각 입력후 return seen 이라는 dictionary를 만들어서 value를 key값으로, index.. 2021. 3. 25.