책 내용 질문하기
535쪽 46번
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
535
조회수
218
작성일
2019-05-31
작성자
강*훈
첨부파일
해설이 없네요 해설 부탁드립니다~ 배열 0~4이고 --1감소하는 식으로 하는건 아는데 디버딩 표에서 j =2 i=3일때 numAry[i] 3 numAry[j] 3 값인데 왜죠? 그 배열에는 각각 0의 값이 들어있습니다 해설부탁드려요
답변
2019-06-03 10:12:06

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

 

해당 코드의 경우 단순히 반복문을 역순으로 돌려가며 자신보다 뒤에 배치되어 있는 배열 요소들의 합을 저장하는 형태의 알고리즘이기 때문에 특별히 해설할만한 부분이 존재하지 않습니다.

디버깅표를 그리듯이 값의 변화를 따라가면 되기 때문이죠.

 

즉,

numAry[4] 그 뒤의 배열이 존재하지 않으니 패스

numAry[3]일 때는 numAry[4]를 더해 저장 

numAry[2]일 때는 numAry[4]~numAry[3]를 더해 저장

numAry[1]일 때는 numAry[4]~numAry[2]를 더해 저장

numAry[0]일 때는 numAry[4]~numAry[1]를 더해 저장

 

하는 식입니다.

 

numAry[j=2]이고 numAry[i=3]일 때 두 배열의 값이 모두 3인 이유는 그 전 과정에서

numAry[2]가 numAry[4] (=3)의 값을 저장했기 때문입니다.

 

(numAry[2]가 numAry[4](3)를 저장하여 3이 되고, 다음 numAry[3](3)을 또 저장해서 6이 되게 되는 것이죠.

그보다 더 전에는 numAry[3]은 numAry[4]의 값을 저장하여 3을 갖고 있습니다.)

 

행복한 하루되세요 :)

  • 관리자
    2019-06-03 10:12:06

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

     

    해당 코드의 경우 단순히 반복문을 역순으로 돌려가며 자신보다 뒤에 배치되어 있는 배열 요소들의 합을 저장하는 형태의 알고리즘이기 때문에 특별히 해설할만한 부분이 존재하지 않습니다.

    디버깅표를 그리듯이 값의 변화를 따라가면 되기 때문이죠.

     

    즉,

    numAry[4] 그 뒤의 배열이 존재하지 않으니 패스

    numAry[3]일 때는 numAry[4]를 더해 저장 

    numAry[2]일 때는 numAry[4]~numAry[3]를 더해 저장

    numAry[1]일 때는 numAry[4]~numAry[2]를 더해 저장

    numAry[0]일 때는 numAry[4]~numAry[1]를 더해 저장

     

    하는 식입니다.

     

    numAry[j=2]이고 numAry[i=3]일 때 두 배열의 값이 모두 3인 이유는 그 전 과정에서

    numAry[2]가 numAry[4] (=3)의 값을 저장했기 때문입니다.

     

    (numAry[2]가 numAry[4](3)를 저장하여 3이 되고, 다음 numAry[3](3)을 또 저장해서 6이 되게 되는 것이죠.

    그보다 더 전에는 numAry[3]은 numAry[4]의 값을 저장하여 3을 갖고 있습니다.)

     

    행복한 하루되세요 :)

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