3Sum

유승선 ·2022년 8월 30일
0

LeetCode

목록 보기
55/121

여러 방면으로 문제를 다양하게 풀고 싶어서 노력하는 중이다. 사실 이 문제는 입대하기 한참 전에 이미 풀어 보았던 문제고 리트코드 안에서도 꽤 유명한 투포인터 문제이다.

3가지 숫자를 고르고 그 합이 0 이 되면은 답 리스트에 포함시켜야 하는 간단한 문제이지만 조금 까다러운 포인트는 세가지에 숫자를 고르지만 그 숫자가 중복이 되면 안된다는 점이다. 그렇기 때문에 코드를 적을때 중복 체크를 자연스럽게 해줘야하고 중복을 만들 수 있는 숫자는 넘기는게 맞다.

약간 조잡한 느낌이 있긴하지만 먼저 전부 정렬을 해준 후에 가장 큰 숫자를 end, 그 다음숫자를 start 로 두고 탐색을 해주었다. 최대한 가능성을 넓게 두고 탐색을 했고 결국 통과했다. 그런데 이 코드는 사실 while 룹을 쓰면은 더 깔끔하게 됐을거다.

배운점:
1. 투포인터 사용할때 while 룹은 꽤 필수로 쓰인다.
2. 로직만 잘 따라가자

profile
성장하는 사람

0개의 댓글