강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của ewqewqewqwe
ewqewqewqwe

câu hỏi đã được viết

Bí quyết đỗ 38 nơi, các thuật toán bắt buộc cho kỳ thi Coding Test 2025

3-4. Sắp xếp - 3

3주차 병합정렬 해결방법

Đã giải quyết

Viết

·

241

0

1. 현재 학습 진도

  • 몇 챕터/몇 강을 수강 중이신가요?

  • 어떤 알고리즘을 학습하고 계신가요?

  • 여기까지 이해하신 내용은 무엇인가요?

 

2. 어려움을 겪는 부분

  • 어느 부분에서 막히셨나요?

  • 코드의 어떤 로직이 이해가 안 되시나요?

  • 어떤 개념이 헷갈리시나요?

 

3. 시도해보신 내용

  • 문제 해결을 위해 어떤 시도를 해보셨나요?

  • 에러가 발생했다면 어떤 에러인가요?

  • 현재 작성하신 코드를 공유해주세요

 

이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊

 

merge 함수에 return이 빠진거같습니다!

 

 

python코딩-테스트알고리즘data-structure

Câu trả lời 4

0

dingcodingco님의 프로필 이미지
dingcodingco
Người chia sẻ kiến thức

오 발견했습니다 viktor 님!!! 당장 변경했습니다

발견해주셔서 넘넘 감사드려요 ㅎㅎㅎ

감사의 의미로 커피 기프티콘을 드리고 싶습니다 아래 카카오톡 오픈 링크로 연락 부탁드립니다!!

https://open.kakao.com/me/ding_coding_co

감사합니다

0

viktor2222123님의 프로필 이미지
viktor2222123
Người đặt câu hỏi

https://fern-freeze-290.notion.site/3-eda59f516d3d4372bdabe54674101396#651c3531904640bebbabb13d2c1fb59b

[코드스니펫] 병합정렬 - merge

^ 이쪽입니다!

바로 아래 해결 방법입니다!

 

array_a = [1, 2, 3, 5]
array_b = [4, 6, 7, 8]


def merge(array1, array2):
    result = []
    array1_index = 0
    array2_index = 0

    while array1_index < len(array1) and array2_index < len(array2):
        if array1[array1_index] < array2[array2_index]:
            result.append(array1[array1_index])
            array1_index += 1
        else:
            result.append(array2[array2_index])
            array2_index += 1

    while array1_index < len(array1):
        result.append(array1[array1_index])
        array1_index += 1

    while array2_index < len(array2):
        result.append(array2[array2_index])
        array2_index += 1

    ## return result  ## return result 가 없음

print(merge(array_a, array_b))

print("정답 = [-7, -1, 5, 6, 9, 10, 11, 40] / 현재 풀이 값 = ", merge([-7, -1, 9, 40], [5, 6, 10, 11]))
print("정답 = [-1, 2, 3, 5, 10, 40, 78, 100] / 현재 풀이 값 = ", merge([-1,2,3,5,40], [10,78,100]))
print("정답 = [-1, -1, 0, 1, 6, 9, 10] / 현재 풀이 값 = ", merge([-1,-1,0], [1, 6, 9, 10]))

 

0

dingcodingco님의 프로필 이미지
dingcodingco
Người chia sẻ kiến thức

안녕하세요 viktor님!! 좋은 질문 남겨주셔서 감사합니다

 

제가 코드 부분과 영상 부분에 merge 함수에 return 이 빠진 부분을 찾아봤습니다

 

우선 코드 내에서는 이렇게 되어있고,

def merge(array1, array2):
    result = []
    array1_index = 0
    array2_index = 0
    while array1_index < len(array1) and array2_index < len(array2):
        if array1[array1_index] < array2[array2_index]:
            result.append(array1[array1_index])
            array1_index += 1
        else:
            result.append(array2[array2_index])
            array2_index += 1

    while array1_index < len(array1):
        result.append(array1[array1_index])
        array1_index += 1

    while array2_index < len(array2):
        result.append(array2[array2_index])
        array2_index += 1

    # 이 부분을 채워보세요!
    return result

영상(3-4. 정렬 - 3 의 7:44)내 에서도 return 문이 있는것으로 파악했습니다

 

혹시 어떤 부분에 return 이 없는지 알려주실 수 있을까요? 꼭 개선하겠습니다 __

3-4. 정렬 - 33-4. 정렬 - 3

0

안녕하세요, 인프런 AI 인턴입니다.

viktor2222123님, 병합 정렬의 해결 방법에 대해 궁금하신 점이 있으시군요.

병합 정렬(Merge Sort)은 분할 정복(divide and conquer) 알고리즘의 대표적인 예시로, 리스트를 두 부분으로 나누고, 각각을 재귀적으로 정렬한 후, 두 정렬된 부분을 병합하는 과정입니다.

  1. 병합 정렬의 로직:

    • 리스트가 길이 1 이하가 될 때까지 계속 절반으로 나눈다.
    • 나누어진 리스트들을 각각 정렬한 뒤, 두 리스트를 하나로 병합하면서 정렬한다.
  2. 병합 함수에서의 문제:

    • 병합 함수에서 return 값이 없거나, 올바르지 않을 경우, 정렬이 정상적으로 완료되지 않을 수 있습니다.
    • 두 리스트를 병합할 때, 결과 리스트를 반환해야 하는데, 이 return 값이 빠져 있다면 결과가 제대로 전달되지 않을 수 있습니다.
  3. 해결 방법:

    • 병합할 때 만든 정렬된 리스트를 return 하도록 함수를 수정하세요.
    • 예를 들어, 병합 함수는 다음과 같이 코딩할 수 있습니다:
    def merge(left, right):
        result = []
        while left and right:
            if left[0] <= right[0]:
                result.append(left.pop(0))
            else:
                result.append(right.pop(0))
    
    
        # 남아있는 요소들 추가
        result.extend(left or right)
        return result
    

viktor2222123님께서 좀 더 정확하게 시도하신 내용을 알려주시면, 문제 해결에 더 도움이 될 수 있을 것입니다. 추가적인 어려움이나 질문이 있다면 언제든지 말씀해 주세요! 😊

출처 이미지가 필요한 경우, 코드 작성이나 추가적인 학습 자료를 제공받을 수 있는 인프런 강의 질문하기도 고려해 보세요.

Hình ảnh hồ sơ của ewqewqewqwe
ewqewqewqwe

câu hỏi đã được viết

Đặt câu hỏi