320x100
728x90
쉬운거 부터..
쉬워도 다시한번
돌아보고 풀자ㅎㅎ
문제 : Two Sum - https://leetcode.com/problems/two-sum/
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
for i in range(len(nums)):
a = nums[i]
for j in range(1, len(nums)):
b = nums[j]
if i == j:
continue
if a + b == target:
return [i,j]
57 / 57 test cases passed.
|
Status:
Accepted |
Runtime: 8323 ms
Memory Usage: 14.9 MB
|
Hash map을 활용하여 푸는 문제.
나는 해시맵을 사용하였는가.. nope..
Hash map 이란?
해싱(Hashing) 된 맵(Map)
맵(Map) => 키(key)와 값(value) 두 쌍으로 데이터를 보관하는 자료구조
python에서 dictionary에 해당
ex)
streetno = {"1": "Sachin Tendulkar", "2": "Dravid", "3": "Sehwag", "4": "Laxman", "5": "Kohli"}
Discuss Best 코드 참고..
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
seen = {}
for i, value in enumerate(nums): #1
remaining = target - nums[i] #2
if remaining in seen: #3
return [i, seen[remaining]] #4
else:
seen[value] = i #5
쉽게 보기 위해
Hashmap = {}
for index, value in enumerate(nums):
key = target - value
if key in Hashmap:
return [Hashmap[key], index]
else:
Hashmap[value] = index
hash map에 {key:value} -> {nums:index} 형태로 저장
enumerate이란?
"열거하다" 라는 뜻
enumerate 함수는 순서와 리스트 값을 전달하는 기능을 한다.
728x90
반응형
'코딩테스트' 카테고리의 다른 글
[kotlin] leetcode - Binary Search (0) | 2022.04.26 |
---|---|
[python/연결리스트] leetcode - Add Two Numbers 문제 (0) | 2022.04.20 |
[C언어] 두 디렉토리 비교 (0) | 2022.03.28 |
[C언어] 삼각형 경로 최대 합 찾기 (0) | 2022.03.28 |
[C언어] 소수 찾기 문제 (0) | 2022.03.28 |