이전에 푼 것인데 왜 새로울까..
그래서 시작하는 기록✒️
24.01.27
배열
(BOOK) 파이썬 알고리즘 인터뷰 - 박상길
문제 모아 보기가 좋다.
내 정답의 runtime, memory별 %를 비교해서 볼 수 있다. 각 구역별 다른사람의 풀이와 함께.
깃허브 commit 처럼 월별 참여 기록이 된다.
힌트를 단계적으로 제공한다.
https://leetcode.com/problems/two-sum/description/
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
for i in range(len(nums)):
for j in range(i+1, len(nums)):
if nums[i] + nums[j] == target:
return [i,j]
⌛ =
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
result_dict = {}
for idx, i in enumerate(nums):
diff = target - i
if diff in result_dict:
return [result_dict[diff], idx]
else:
result_dict[i] = idx
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
nums_map = {}
# 키, 값을 바꿔서 딕셔너리로 저장
for i, num in enumerate(nums):
nums_map[num] = i
for i, num in enumerate(nums):
if target - num in nums_map and i !=nums_map[target - num]:
return [i, nums_map[target - num]]
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
nums_map = {}
for i, num in enumerate(nums):
if target - num in nums_map:
return [nums_map[target - num], i]
nums_map[num] = i