[파이썬 알고리즘 인터뷰] 배열 - 세수의 합
·
알고리즘
문제설명 - 배열을 입력받아 함으로 0을 만들 수 있는 3개의 엘리먼트를 출력하라. 예시 #입력 nums = [-1, 0, 1, 2, -1, -4] #출력 [ [-1, 0, 1], 【-1, -1, 2] ] 풀이 앞 뒤로 같은 값이 있을 경우를 대비해 sort() 함수를 사용 중복된 값이 있을수 도 있기 때문에 continue로 건너 뛴다. 세 개의 포인터를 이용하여 각각의 포인터가 이동하면서 i + j + k = 0을 찾아내서 반환을 해준다. def three_sum(nums): results = [] nums.sort() print(nums) # 앞 뒤로 같은 값이 있을 경우를 대비해 sort() 함수를 사용 for i in range(len(nums) - 2): if i > 0 and nums[i] ..
[파이썬 알고리즘 인터뷰] 배열 - 두 수의 합
·
알고리즘
문제 설명 - 덧셈하여 타겟을 만들 수 있는 배열의 두 숫자 인덱스를 리턴하라. 예시 #입력 nums = (2, 7, 11, 15], target = 9 #출력 [0, 1] #설명 nums[0] + nums[1]= 2 + 7 = 9 풀이 enumerate를 사용하여 리스트 원에 순서값을 부여해준다. 예시로 ( 0 , '2' ) 튜플형태로 담겨 있다. complement가 7이 되면 nums 배열안에 같은 값을 찾아보고 맞으면 리스트 형태로 반환한다. nums = [2, 7, 11, 15] # enumerate를 사용하여 리스트 원에 순서값을 부여해준다. # 예로 ( 0 , '2') 튜플형태로 담겨 있다. target = 9 def twoSum(nums: list, target: int) -> list: ..