책 내용 질문하기
1권 294쪽 삽입정렬 이해가 안되는 부분이 있어요
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
294
조회수
194
작성일
2019-09-24
작성자
탈퇴*원
첨부파일

 

294쪽 순서도를 보면 10번에 A[K+1] = A[K]를 하잖아요

 

근데 그러면 그뒤로 A[K+1]값이 A[K]로 들어가야 할거 같은데 그런 식이 없습니다

A[K] = KEY를 안해주는 이유는 뭔가요?

그렇게되면 예를들어 3 1 2 5가 저장되어있다 칠때, 3 3 2 5 가 되는게 아닌가요?ㅠㅠ KEY인 1을 왼쪽으로 안옮겼으니까요.

 

 

그리고 반복문이 끝나면 11번에 A[K+1] = KEY를 하던데 KEY는 정렬할수록 오른쪽으로 옮겨지는걸로 알고있는데 이렇게하면 맨처음인 애가 KEY가 돼버리지 않나요?

 

설명 부탁드립니다ㅠㅠㅠ

답변
2019-09-25 15:32:13

안녕하세요 길벗수험서 운영팀입니다.

 

근데 그러면 그뒤로 A[K+1]값이 A[K]로 들어가야 할거 같은데 그런 식이 없습니다 

A[K] = KEY를 안해주는 이유는 뭔가요? 

그렇게되면 예를들어 3 1 2 5가 저장되어있다 칠때, 3 3 2 5 가 되는게 아닌가요?ㅠㅠ KEY인 1을 왼쪽으로 안옮겼으니까요. 

[답변]

11번이 그 역할을 하고 있습니다.

말씀하신대로 3, 1, 2, 5라는 수가 되어있다고 가정했을 때, key에는 1이 들어갈 것이고, a[k]>key는 3>1이 될 것입니다. Yes가 되므로, a[2]=3이 되고 반복문은 종료됩니다. 이 때 k는 최종값까지 수행한 후 마지막에 증가값(-1)을 더한 0을 갖고 있게 됩니다. (294쪽 전문가의 조언 참조)

때문에 11번 a[k+1]=key는 a[1]=1이되어 1, 3, 2, 5가 되는 것이죠.

 

 

그리고 반복문이 끝나면 11번에 A[K+1] = KEY를 하던데 KEY는 정렬할수록 오른쪽으로 옮겨지는걸로 알고있는데 이렇게하면 맨처음인 애가 KEY가 돼버리지 않나요? 

[답변]

9번 조건문의 No의 위치를 다시 한 번 파악해보세요. for문을 벗어나는 방향으로 화살표가 가고 있음을 보실 수 있습니다. 즉 a[k]가 key보다 작거나 같은 경우 그 즉시 8번 반복문이 종료되고 11번으로 가게 되서 그런 경우는 발생하지 않게 되죠.

 

행복한 하루되세요 :)

  • 관리자
    2019-09-25 15:32:13

    안녕하세요 길벗수험서 운영팀입니다.

     

    근데 그러면 그뒤로 A[K+1]값이 A[K]로 들어가야 할거 같은데 그런 식이 없습니다 

    A[K] = KEY를 안해주는 이유는 뭔가요? 

    그렇게되면 예를들어 3 1 2 5가 저장되어있다 칠때, 3 3 2 5 가 되는게 아닌가요?ㅠㅠ KEY인 1을 왼쪽으로 안옮겼으니까요. 

    [답변]

    11번이 그 역할을 하고 있습니다.

    말씀하신대로 3, 1, 2, 5라는 수가 되어있다고 가정했을 때, key에는 1이 들어갈 것이고, a[k]>key는 3>1이 될 것입니다. Yes가 되므로, a[2]=3이 되고 반복문은 종료됩니다. 이 때 k는 최종값까지 수행한 후 마지막에 증가값(-1)을 더한 0을 갖고 있게 됩니다. (294쪽 전문가의 조언 참조)

    때문에 11번 a[k+1]=key는 a[1]=1이되어 1, 3, 2, 5가 되는 것이죠.

     

     

    그리고 반복문이 끝나면 11번에 A[K+1] = KEY를 하던데 KEY는 정렬할수록 오른쪽으로 옮겨지는걸로 알고있는데 이렇게하면 맨처음인 애가 KEY가 돼버리지 않나요? 

    [답변]

    9번 조건문의 No의 위치를 다시 한 번 파악해보세요. for문을 벗어나는 방향으로 화살표가 가고 있음을 보실 수 있습니다. 즉 a[k]가 key보다 작거나 같은 경우 그 즉시 8번 반복문이 종료되고 11번으로 가게 되서 그런 경우는 발생하지 않게 되죠.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.