책 내용 질문하기
131쪽 46번, 137쪽 55번 문제 질문 있습니다
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
137
조회수
421
작성일
2019-04-05
작성자
탈퇴*원
첨부파일

131쪽 46번 문제에서 i가 3이면 numAry[3]이 되니깐 0이 되지 않나요 ? 아니면 i가 4일때 numAry[4]에서 가지고 있던 3의 값을 i가 3이 되도 그대로 가지고 있는건지 

 

해설 보면 j가 2, i가 3일경우 numAry[i]가 3으로 나와있어서 햇갈리네요 혹시 가능하시면 하나하나씩 해석이 가능할가요 ?

 

137쪽 55번 문제는 혼자 풀어보고 해설을 봤는데 max값은 해설대로 구할수있는데 min값을 못 구하겠습니다

 

해설에서  4번부분에 min = a[0]이니깐 10을 저장을 했고 8번 부분인 if (a[i] < min) 이부분을 해석하면 10 < 10인데 10이 10보다 작지 않으니깐 

 

for문이 처음돌때 (i가 0값일때는) 아무런 값도 입력되지 않고 그다음 i가 1일때 부터만 max값이 입력되는게 아닌가요 ?

 

보기에는 8번이 if(a[i] <= min) 이렇게 되야 맞을것 같은데 설명 부탁드립니다

답변
2019-04-08 13:24:02

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

 

[46번]

생각보다 단순한 알고리즘 입니다.

numAry[4]일 때는 미수행

numAry[3]일 때는 numAry[4]를 numAry[3]에 누적 

numAry[2]일 때는 numAry[4], numAry[3]을 numAry[2]에 누적 

numAry[1]일 때는 numAry[4], numAry[3], numAry[2]를 numAry[1]에 누적 

numAry[0]일 때는 numAry[4], numAry[3], numAry[2], numAry[1]을 numAry[0]에 누적하는 형식입니다. 

 

바깥 for문에서 j를 기준으로 안쪽 for문 i가 회전한다는 것을 명심하시고 직접 디버깅해보시는 것을 권합니다.

 

 

[55번]

예, 맞습니다.

8번은 a[i]<min이 맞습니다.

 

어떤 부분에서 혼동이 오신것인지 이해가 가지 않습니다.

말씀하신대로 알고리즘에서 i가 0인 경우 548쪽 해설 기준 6~9번 코드는 큰 의미가 없습니다.

만약 이 부분을 지적하신 것이라면 a[i]<min을 수정하는 것이 아닌 for문에서 i의 초기값을 1로하는 것이 더 맞는 수정이 되겠죠.

 

행복한 하루되세요 :)

  • 관리자
    2019-04-08 13:24:02

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

     

    [46번]

    생각보다 단순한 알고리즘 입니다.

    numAry[4]일 때는 미수행

    numAry[3]일 때는 numAry[4]를 numAry[3]에 누적 

    numAry[2]일 때는 numAry[4], numAry[3]을 numAry[2]에 누적 

    numAry[1]일 때는 numAry[4], numAry[3], numAry[2]를 numAry[1]에 누적 

    numAry[0]일 때는 numAry[4], numAry[3], numAry[2], numAry[1]을 numAry[0]에 누적하는 형식입니다. 

     

    바깥 for문에서 j를 기준으로 안쪽 for문 i가 회전한다는 것을 명심하시고 직접 디버깅해보시는 것을 권합니다.

     

     

    [55번]

    예, 맞습니다.

    8번은 a[i]<min이 맞습니다.

     

    어떤 부분에서 혼동이 오신것인지 이해가 가지 않습니다.

    말씀하신대로 알고리즘에서 i가 0인 경우 548쪽 해설 기준 6~9번 코드는 큰 의미가 없습니다.

    만약 이 부분을 지적하신 것이라면 a[i]<min을 수정하는 것이 아닌 for문에서 i의 초기값을 1로하는 것이 더 맞는 수정이 되겠죠.

     

    행복한 하루되세요 :)

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