Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions contains-duplicate/changhyumm.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
class Solution:
def containsDuplicate(self, nums: List[int]) -> bool:
dic = dict()
for num in nums:
if num in dic:
return True
else:
dic[num] = True
return False
20 changes: 20 additions & 0 deletions house-robber/changhyumm.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
class Solution:
def rob(self, nums: List[int]) -> int:
n = len(nums)
# 집이 하나면 최대 profit은 그 자체
if n == 1:
return nums[0]

# dp[i]를 i+1 집까지 털었을때의 max라고 정의
# dp[i] = max(dp[i-1], nums[i] + dp[i-2])
dp = [0] * n
dp[0] = nums[0]
dp[1] = max(nums[0], nums[1])

# dp를 누적
for i in range(2, n):
dp[i] = max(dp[i-1], nums[i] + dp[i-2])

# time O(n) - loop 1번
# space O(n) - dp 배열
return dp[-1]
12 changes: 12 additions & 0 deletions longest-consecutive-sequence/changhyumm.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
class Solution:
def longestConsecutive(self, nums: List[int]) -> int:
num_set = set(nums)
max_length = 0

for num in num_set:
if num - 1 not in num_set:
length = 1
while num + length in num_set:
length += 1
max_length = max(max_length, length)
return max_length
17 changes: 17 additions & 0 deletions top-k-frequent-elements/changhyumm.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
class Solution:
def topKFrequent(self, nums: List[int], k: int) -> List[int]:
freq = dict()
for num in nums:
if num in freq:
freq[num] += 1
else:
freq[num] = 1
Comment thread
changhyumm marked this conversation as resolved.

result = sorted(freq.items(), key=lambda x: x[1], reverse=True)
ans = []
idx = 0
while k > 0:
ans.append(result[idx][0])
idx += 1
k -= 1
return ans
12 changes: 12 additions & 0 deletions two-sum/changhyumm.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
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]
dic = dict()
Comment thread
changhyumm marked this conversation as resolved.
for idx, num in enumerate(nums):
if target - num in dic:
return [idx, dic[target-num]]
else:
dic[num] = idx