하루에 1문제씩 풀기.
한 문제당 30분씩은 고민하기.
왜 그렇게 풀었는지 공유하기.
하루라도 놓친다면 벌금은 1,000원
백준 플래티넘, 프로그래머스 4단계, 개발자 탈퇴 시 모임 탈퇴 가능
[3코1파] 2023.01.04~ (182차)
[4코1파] 2023.01.13~ (174일차)
[1스4코1파] 2023.04.12~ (85일차)
[1스4코2파] 2023.05.03 ~ (63일차)
2023.07.04 [182일차]
LeetCode Patterns
15. 3Sum
https://leetcode.com/problems/3sum/description/
https://leetcode.com/problems/3sum/description/
문제 설명
int형 데이터타입이 있는 배열이 주어질 때,
세 원소들을 더해서 0이 나오는 원소들을 duplicates return
문제 풀이 방법
배열을 loop 돌면서, 첫번째 인덱스 기준으로 loop를 한번더 돎
이때 돌때 two pointer를 사용해서 0이 되는 것을 찾음
개복잡함
내 코드
class Solution:
def threeSum(self, nums: List[int]) -> List[List[int]]:
ans = []
nums.sort()
for idx, num in enumerate(nums):
if idx>0 and num==nums[idx-1]:
continue
left, right = idx+1, len(nums)-1
while left<right:
threeSum = num + nums[left] + nums[right]
if threeSum>0:
right -=1
elif threeSum <0:
left +=1
else:
ans.append([num, nums[left], nums[right]])
left +=1
while nums[left] == nums[left-1] and left < right:
left += 1
return ans
증빙
여담
아 에너지 없어 에너지 없는 날 2일차