목록세 수의 합 (1)
거누의 개발노트
파이썬 알고리즘 인터뷰 - 세 수의 합
문제 배열을 입력받아 합으로 0을 만들수 있는 3개의 엘리먼트를 출력하라. 입력 nums = [-1, 0, 1, 2, -1, -4] 출력 [ [-1, -1, 2], [-1, 0, 1] ] 작성한 코드 def threeSum(nums: List[int]): lists = [] for a in itertools.combinations(sorted(nums), 3): if sum(a) == 0: lists.append([*a]) rtn = [] for l in lists: if l not in rtn: rtn.append(l) return rtn 리코드에서 시간 초과가 나왔다. - 숫자가 많아지면 조합해야 할 숫자가 많기 때문에 초과된걸로 생각된다. 책에 있는 코드 def threeSum(nums: list..
코딩테스트
2022. 5. 15. 14:08