JLIS 책 예제 주석 부분 질문드립니다.

  • 임정민
    임정민

    P.239 페이지의 8.13 예제 관련 질문드립니다.

    jlis 함수 내에
    //A[indexA], B[indexB]가 이미 존재하므로 2개는 항상 있다.
    ret = 2;

    라는 설명 부분이 존재하는데
    A와 B중에서 한쪽에서 골라서 가져오는 것 같은데
    왜 1개가 아니고 2개인지 궁금합니다.

    그리고 제일 처음 maxElement를 찾는 부분이 있는데
    가장 작은걸 먼저 찾아내야지 제일 긴jlis를 구할 수 있는것 아닌지요?
    큰값을 찾는 이유도 궁금합니다.

    감사합니다.


    8년 전
2개의 댓글이 있습니다.
  • seico75
    seico75

    p.238 에 있는 설명이긴 하지만..
    1. 함수의 정의가 A[indexA], B[indexB] 로 시작하는 JLIS 길이 이므로,
    이 JLIS 는 { A[indexA], B[indexB], .... } 혹은 { B[indexB], A[indexA], ....} 입니다. 따라서 최소 2개를 가지는 것이 맞네요.
    ret = 2 하고 indeaA+1, indexB+1 부터 ret 를 증가시켜가게 되어 있네요.
    2. maxElement 는 현재 JLIS 의 마지막 요소가 되어 그 이후에 올 수 있는 것은 이것보다 커야 한다는 조건이 됩니다. 여기서는 2개 이후는 recursive 로 돌리니 둘중의 큰 값. 둘중의 뒤에 오는 값이 되겠네요.


    8년 전 link
  • 임정민
    임정민

    감사합니다! 이해가 됐습니다
    한가지 생각에 갇혀서 빠져나오질 못했네요;;ㅎㅎ


    8년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.