알고리즘#1부터n까지의합#분할정복

Algorithm/알고리즘 패러다임

[Divide and Conquer] merge 함수 작성

실습 설명 합병 정렬 알고리즘 중 사용되는 merge 함수를 작성해 보세요. merge 함수는 정렬된 두 리스트 list1과 list2를 받아서, 하나의 정렬된 리스트를 리턴합니다. merge.py def merge(list1, list2): # 여기에 코드를 작성하세요 merge_list = [] i = 0 j = 0 # list1과 list2를 돌면서 merge_list에 추가 while i list2[j]: merge_list.append(list2[j]) j += 1 else: merge_list.append(list1[i]) i += 1 if i == len(list1): merge_list += list2[j:..

Algorithm/알고리즘 패러다임

[Divide and Conquer] 1부터 n까지의 합

Divide and Conquer를 이용해서 1부터 n까지 더하는 예시를 보았는데요. 코드로 한 번 구현해 봅시다. 우리가 작성할 함수 consecutive_sum은 두 개의 정수 인풋 start와 end를 받고, start부터 end까지의 합을 리턴합니다. end는 start보다 크다고 가정합니다. consecurive_sum.py def consecutive_sum(start, end): # 여기에 코드를 작성하세요 # base case if start == end: return start # 부분 문제를 반으로 나눠주기 위해서 문제의 정중앙을 정의한다.(Divide) mid = (start + end) // 2 # 각 부분을 재귀적으로 풀고(conquer), 부분문제의 답을 서로 더한다. retur..

달려라 국나뇽
'알고리즘#1부터n까지의합#분할정복' 태그의 글 목록