책 내용 질문하기
디버깅하다가
도서
[2014] 정보처리기사 실기(산업기사 포함)
페이지
246
조회수
118
작성일
2014-09-10
작성자
첨부파일

계속 안풀려서 디버깅을 억지로 해보고 있는데요.

i NMG CNT BAN

2 0 0

1

----------------------------------------여기서 나머지가 2니까 2배열에 1반이 되고

i NMG CNT BAN

2 0 0

1

1

1 3

2 4 2

2

---------------------------------------여기서 나머지가 4니까 4위치에 2반이 되고

i NMG CNT BAN

2 0 0

1

1

1 3

2 4 2

2

1 5

2 6 3

1

3

-------------------------------------------여기서 나머지가 6이니까 6위치에 1반을 했어요.

근데 문제는 여기서 부터 안된다는거에요ㅠㅠㅠ

i NMG CNT BAN

2 0 0

1

1

1 3

2 4 2

2

1 5

2 6 3

1

3

1 7

1

2 2

1 3

-> 세번째 자리는 비어있는데 반복문이니까 i를 2까지 해야 하는 거 아닌가요?

2 4

1 5

2 6

1 7

1

..........이런식으로 계속됩니다.

제가 어디서 잘못 이해하고 있는 지 알려주세요.

그림으로 했을 때는

A(3) 2

A(1) 1

A(5) 2

이렇게 되는데 왜 알고리즘 따라서 해보면 이게 안나오는지 궁금합니다.....

답변
2014-09-11 09:54:36

안녕하세요.

i NMG CNT BAN

2 0 0

1

1

1 3

2 4 2

2

1 5

2 6 3

1

3

1 7

1

2 2

1 3

-> 세번째 자리는 비어있는데 반복문이니까 i를 2까지 해야 하는 거 아닌가요?

NMG가 3이 될 때 i는 2인 상태입니다.

왜냐하면, A(2)일 때 0이 아니므로 i=i-1이 되어 i가 1이 된 상태로 반복문을 다시 수행하면 1이 증가되어 i가 2가 된 상태로 다시 반복문을 수행합니다. 그래서 i가 2인 상태에서 NMG=NMG+1이 수행되어 NMG는 3이 됩니다.

이제 A(NMG), 즉 A(3)이 비어 있으므로 0입니다. 그래서 A(NMG)<>0 이 NO가 되어서

반복문 위쪽으로 가죠. 그럼 i는 1이 증가되어 3이 되므로 더이상 반복문을 수행하지 않고 빠져나옵니다.

이제 11번 동그라미로 이동하여 BAN이 증가되어 2가 된 후 A(NMG), 즉 A(3)에 BAN, 즉 2를 저장합니다.

그래서 현재 배열의 상태는 아래와 같습니다.

0 1 2 2 0 1

그리고 디버깅 표 상태는 다음과 같습니다.

i NMG CNT BAN

2 0 0

1

1

1 3

2 4 2

2

1 5

2 6 3

1

3

1 7

1

2 2

1 3 4 2

2

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

"
  • *
    2014-09-11 09:54:36

    안녕하세요.

    i NMG CNT BAN

    2 0 0

    1

    1

    1 3

    2 4 2

    2

    1 5

    2 6 3

    1

    3

    1 7

    1

    2 2

    1 3

    -> 세번째 자리는 비어있는데 반복문이니까 i를 2까지 해야 하는 거 아닌가요?

    NMG가 3이 될 때 i는 2인 상태입니다.

    왜냐하면, A(2)일 때 0이 아니므로 i=i-1이 되어 i가 1이 된 상태로 반복문을 다시 수행하면 1이 증가되어 i가 2가 된 상태로 다시 반복문을 수행합니다. 그래서 i가 2인 상태에서 NMG=NMG+1이 수행되어 NMG는 3이 됩니다.

    이제 A(NMG), 즉 A(3)이 비어 있으므로 0입니다. 그래서 A(NMG)<>0 이 NO가 되어서

    반복문 위쪽으로 가죠. 그럼 i는 1이 증가되어 3이 되므로 더이상 반복문을 수행하지 않고 빠져나옵니다.

    이제 11번 동그라미로 이동하여 BAN이 증가되어 2가 된 후 A(NMG), 즉 A(3)에 BAN, 즉 2를 저장합니다.

    그래서 현재 배열의 상태는 아래와 같습니다.

    0 1 2 2 0 1

    그리고 디버깅 표 상태는 다음과 같습니다.

    i NMG CNT BAN

    2 0 0

    1

    1

    1 3

    2 4 2

    2

    1 5

    2 6 3

    1

    3

    1 7

    1

    2 2

    1 3 4 2

    2

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

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