요즘에는 개발자들이 회사에 취업하기 위해서 사용한다는 리트코드 (leetcode) 사이트의 문제들을 풀어보고 있습니다. 이제 막 시작한 초보자라 힘든 점이 많아서 이렇게 글로 남겨서 복습하려고 합니다.
문제: Remove Element
등급: Easy
내용:
<코드>
class Solution(object):
def removeElement(self, nums, val):
if not nums:
return 0
while val in nums:
nums.remove(val)
return len(nums)
<논리>
약간의 편법이 들어간 코드이다. 원래는, 그 element를 없애고 난 뒤의 남은 것들만 list가 있다면 그 남아있는 숫자를 줘야한다. 아, 그 없애는 것이 아닌 원래 다른 값으로 교체?를 하는 것이다. 그런데, 난 그냥 없앴다. 없애도 상관이 없을 것 같아서...
다른 솔루션으로 two pointer method가 있다.
<코드>
class Solution(object):
def removeElement(self, nums, val):
i = 0
for j in range(len(nums)):
if nums[j] != val:
nums[i] = nums[j]
i += 1
return i
<총평>
Happy coding!
'코딩 공부' 카테고리의 다른 글
Leetcode 441. Arranging Coins - 파이썬 (0) | 2022.02.20 |
---|---|
Leetcode 258. Add Digits - Python (0) | 2022.02.13 |
Leetcode 14. Longest Prefix (0) | 2022.02.09 |
Leetcode: 13. Roman to Integer - Python (0) | 2022.02.08 |
댓글