https://leetcode.com/problems/3sum/
[3Sum - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com](https://leetcode.com/problems/3sum/)
문제
배열을 입력받아 합으로 0을 만들 수 있는 3개의 엘리먼트를 출력하라.
풀이
def func(lst):
lst = sorted(list(lst))
result = []
l = -1
r = 0
while l < len(lst) - 2:
l += 1
for k in range(l+1, len(lst)-1):
r += 1
for i in range(k+1, len(lst)):
if lst[l] + lst[k] + lst[i] == 0 and sorted(list((lst[l], lst[k], lst[i]))) not in result:
result.append(sorted(list((lst[l], lst[k], lst[i]))))
else:
continue
return result
후기
문제에서 요구하는 값은 출력을 하지만, 일일히 하나 하나 다 비교해서 넣었기 때문에
리트코드에서는 time out이 난다.
이 방법을 부르트 포스라고 하는데....
효율적이지 않다.
실행 속도를 높여줄 방법을 찾아 다시 풀어봐야겠다.
'리트코드' 카테고리의 다른 글
리트코드 733 Flood Fill (0) | 2022.09.24 |
---|---|
리트코드 561 배열 파티션Ⅰ(파이썬) (0) | 2022.08.08 |
리트코드 42 빗물 트래핑 (파이썬) (0) | 2022.08.06 |
리트코드 5 가장 긴 팰린드롬 부분 문자열 (파이썬) (0) | 2022.08.05 |
리트코드 125 Valid Palindrome (유효한 팬린드롬) (파이썬) (0) | 2022.07.30 |