suleesulee
suleesulee
suleesulee
전체 방문자
오늘
어제
  • 분류 전체보기 (39)
    • Personal (7)
      • 개발자sulee (2)
      • 회고록 (1)
      • 여행 (0)
    • Computer Science (31)
      • JAVA (4)
      • Python (0)
      • Html&CSS (0)
      • Spring (1)
      • JPA (1)
      • MSA (12)
      • Algorithm (10)
      • DevOps (0)
      • Go (1)
      • Swift (1)
      • 기타 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 개발자 sulee의 블로그입니다.

인기 글

태그

  • 네이버
  • 전문연구요원
  • 개발자
  • SOA
  • 라인
  • 백엔드
  • MSA
  • 전문연
  • 나의 재취업 도전기
  • 회고
  • 카카오
  • Monolithic
  • 이직
  • 이직뽀개기

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
suleesulee

suleesulee

Computer Science/Algorithm

[리트코드]18. 4Sum

2021. 9. 3. 23:35
class Solution:
    def fourSum(self, nums: List[int], target: int) -> List[List[int]]:
        #두개 고르고 투포인터 고르고 하나를 옮김
        nums.sort()
        ans = []
        for i in range(len(nums) - 3):
            for j in range(i + 1, len(nums) - 2):
                s, e = j + 1, len(nums) - 1
                while s < e:
                    sum = nums[i] + nums[j] + nums[s] + nums[e]

                    if sum == target:
                        if sorted([nums[i], nums[j], nums[s], nums[e]]) not in ans:
                            ans.append([nums[i], nums[j], nums[s], nums[e]])

                    if sum < target:
                        s += 1
                    else:
                        e -= 1

        return ans

 

투포인터 문제로 4개를 더하는 문제 

 

투 포인터로 풀었다.

문제는 4개라서 두개는 for문으로 움직이고 두개는 범위를 줄여가는 형태로 움직였음.

답인 배열을 만드는 부분에서 약간 당황함 

풀어내긴 했지만 해당 알고리즘은 시간 복잡도 측면에서 별로임 

고수들의 풀이에는 재귀가 담겨있었다...

답을 내고 두번 틀렸는데 이게 코테에 나오면 분명틀렸다..

 

 

저작자표시 비영리 변경금지 (새창열림)

'Computer Science > Algorithm' 카테고리의 다른 글

[리트코드]1002. Find Common Characters  (0) 2021.09.06
[리트코드]740. Delete and Earn  (0) 2021.09.03
[리트코드]16. 3Sum Closest  (0) 2021.09.03
[리트코드]1762. Buildings With an Ocean View  (0) 2021.09.02
leetcode 5.Longest Palindromic Substring  (0) 2021.02.24
    'Computer Science/Algorithm' 카테고리의 다른 글
    • [리트코드]1002. Find Common Characters
    • [리트코드]740. Delete and Earn
    • [리트코드]16. 3Sum Closest
    • [리트코드]1762. Buildings With an Ocean View
    suleesulee
    suleesulee
    IT Engineer, SW Developer, Traveler

    티스토리툴바