책 내용 질문하기
2017년 삽입정렬 모르겠어요..ㅜㅜ
도서
2017 시나공 정보처리기사 실기(산업기사 포함)
페이지
140
조회수
177
작성일
2017-02-18
작성자
첨부파일
140p 삽입정렬문제를 몇번이고 디버깅해봤는데... A(K+1) 에 왜 2번이나 값을저장하며 A(K)에는 왜값을 넣지않는지도 모르겠고요...ㅜㅜ 디버깅한것이 뒤에답지랑 다르고요 ㅜㅜ 지금몇시간째 이거만보느라 넘어가지 못하고있어요 ㅜ제발도와주세요 ㅜㅜㅜㅜ (삽입정렬 설명은 이해했어요ㅜㅜ 근데 알고리즘은 이해가안가요ㅜ)
답변
2017-02-20 09:45:16

안녕하세요.

예를 들어 i가 4라면

반복문은 다음과 같이 처리됩니다.

반복 k = 3, 1, -1 -> k를 3부터 1까지 -1씩 증가하면서 반복문을 실행

k는 처음 3을 가지고 반복문을 실행합니다.

그런 다음 증가치를 적용해 k가 2가 된 상태에서 종료 기준값(1)과 비교하죠 아직 기준값보다 작지 않으므로 반복문을 실행합니다.

그런 다음 증가치를 적용해 k가 1이 된 상태에서 종료 기준값(1)과 비교하죠 아직 기준값보다 작지 않으므로 반복문을 실행합니다.

그런 다음 증가치를 적용해 k가 0이 된 상태에서 종료 기준값(1)과 비교하죠 기준값보다 작으므로 반복문을 빠져나옵니다.

이때 반복변수 k의 값은 0인 상태로 빠져나옵니다.

반복문을 빠져나온 뒤 반복변수 k의 값을 사용하는 경우에는 반복문을 빠져나올때의 k 값이 중요합니다.

하지만 일반적으로 반복변수는 반복문 안에서만 사용하므로 디버깅 할 때도 마지막 반복변수 값은 무시하는 경우가 많죠.

이 알고리즘 처럼 반복변수 k의 값이 반복문을 빠져나온 뒤에도 계속 사용될 경우에는 반복문을 빠져 나올때의 반복 변수의 값이 중요합니다.

오늘도 즐거운 하루 되세요.

  • *
    2017-02-20 09:45:16

    안녕하세요.

    예를 들어 i가 4라면

    반복문은 다음과 같이 처리됩니다.

    반복 k = 3, 1, -1 -> k를 3부터 1까지 -1씩 증가하면서 반복문을 실행

    k는 처음 3을 가지고 반복문을 실행합니다.

    그런 다음 증가치를 적용해 k가 2가 된 상태에서 종료 기준값(1)과 비교하죠 아직 기준값보다 작지 않으므로 반복문을 실행합니다.

    그런 다음 증가치를 적용해 k가 1이 된 상태에서 종료 기준값(1)과 비교하죠 아직 기준값보다 작지 않으므로 반복문을 실행합니다.

    그런 다음 증가치를 적용해 k가 0이 된 상태에서 종료 기준값(1)과 비교하죠 기준값보다 작으므로 반복문을 빠져나옵니다.

    이때 반복변수 k의 값은 0인 상태로 빠져나옵니다.

    반복문을 빠져나온 뒤 반복변수 k의 값을 사용하는 경우에는 반복문을 빠져나올때의 k 값이 중요합니다.

    하지만 일반적으로 반복변수는 반복문 안에서만 사용하므로 디버깅 할 때도 마지막 반복변수 값은 무시하는 경우가 많죠.

    이 알고리즘 처럼 반복변수 k의 값이 반복문을 빠져나온 뒤에도 계속 사용될 경우에는 반복문을 빠져 나올때의 반복 변수의 값이 중요합니다.

    오늘도 즐거운 하루 되세요.

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