책 내용 질문하기
알고리즘 디버깅 과정중에 질문드립니다.
도서
2017 시나공 정보처리기사 실기(산업기사 포함)
페이지
248
조회수
145
작성일
2017-01-22
작성자
첨부파일

SECTION46에 있는 반배정 알고리즘을 하는 과정에서 디버깅이 제대로 되지 않아서 질문드립니다.

248에서 디버깅을 하는 중에NMG가 2가 나오고 BAN이 2가 나오게 되는데 2번째 방에는 이미 1이 들어가 있어서 대입이 되지 않습니다. 여러번 반복해봐도 답이 안나와서 디버깅에 오류가 있는건지 아니면 책이 오류가 있는건지 궁금합니다.

답변
2017-01-23 09:41:01

안녕하세요.

반배정은 이미 배정된 반은 새로운 배정에서 제외하므로 뒤로 갈수록 복잡해 집니다. 그래서 질문이 종종 올라오는 내용이지만 교재 내용에는 이상이 없습니다.

반배정을 확실히 이해하려면 다양한 색상의 펜을 이용하여 이미 배정된 것과 새로 배정될 것을 구분하면서 이해해야 합니다.

반배정 과정이 길어지다 보니 서면을 통한 디버깅 표 제공에도 어려움이 있습니다.

교재 섹션(046) 부분의 알고리즘 이해 부분에 아주 자세하게 설명이 되어 있으니 이 부분을 다시한번 정리해 보세요.

서면을 통해 다시한번 섹션 알고리즘의 이해 부분을 요약하여 설명드리겠습니다.

배정될 반은 배열이 21개 입니다.

배정될 배열이 증가하다가 21이 넘어가면 다시 1부터 시작해야 하므로 NMG > 21이면 NMG=1로 하여 NMG를 1부터 시작해야 합니다.

또한 반을 배정한 후 4칸을 건너뛰는데, 건너뛰는 4칸에 이미 배정된 반이 있으면 그것은 건너뛰는 4칸에 포함하지 말아야 합니다.

7번에서 배열 1에 3반을 지정한 후 다음 반 지정을 위해 4칸을 건너뛰어야 하는데, 배열 2와 6에 이미 반이 배정되어 있으므로 이 둘을 제외한 배열을 건너뛴 후(배열 3, 4, 5) 4번째 칸인 배열 7에 반을 배정한다는 의미입니다.

반은 3반까지 있으므로 반을 증가하다 3을 넘어서면 다시 1부터 시작해야 하므로 BAN > 3이면 BAN=1로 하여 BAN을 1부터 시작해야 합니다. 이는 배열 21이 넘어갈 때 1부터 시작하는 것과 같은 개념이죠.

앞서 언급한 조건들을 차근히 다시한번 읽어보면서 디버깅을 수행하여 진행되는 과정을 파악해 보세요.

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

  • *
    2017-01-23 09:41:01

    안녕하세요.

    반배정은 이미 배정된 반은 새로운 배정에서 제외하므로 뒤로 갈수록 복잡해 집니다. 그래서 질문이 종종 올라오는 내용이지만 교재 내용에는 이상이 없습니다.

    반배정을 확실히 이해하려면 다양한 색상의 펜을 이용하여 이미 배정된 것과 새로 배정될 것을 구분하면서 이해해야 합니다.

    반배정 과정이 길어지다 보니 서면을 통한 디버깅 표 제공에도 어려움이 있습니다.

    교재 섹션(046) 부분의 알고리즘 이해 부분에 아주 자세하게 설명이 되어 있으니 이 부분을 다시한번 정리해 보세요.

    서면을 통해 다시한번 섹션 알고리즘의 이해 부분을 요약하여 설명드리겠습니다.

    배정될 반은 배열이 21개 입니다.

    배정될 배열이 증가하다가 21이 넘어가면 다시 1부터 시작해야 하므로 NMG > 21이면 NMG=1로 하여 NMG를 1부터 시작해야 합니다.

    또한 반을 배정한 후 4칸을 건너뛰는데, 건너뛰는 4칸에 이미 배정된 반이 있으면 그것은 건너뛰는 4칸에 포함하지 말아야 합니다.

    7번에서 배열 1에 3반을 지정한 후 다음 반 지정을 위해 4칸을 건너뛰어야 하는데, 배열 2와 6에 이미 반이 배정되어 있으므로 이 둘을 제외한 배열을 건너뛴 후(배열 3, 4, 5) 4번째 칸인 배열 7에 반을 배정한다는 의미입니다.

    반은 3반까지 있으므로 반을 증가하다 3을 넘어서면 다시 1부터 시작해야 하므로 BAN > 3이면 BAN=1로 하여 BAN을 1부터 시작해야 합니다. 이는 배열 21이 넘어갈 때 1부터 시작하는 것과 같은 개념이죠.

    앞서 언급한 조건들을 차근히 다시한번 읽어보면서 디버깅을 수행하여 진행되는 과정을 파악해 보세요.

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

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