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) 이렇게 되야 맞을것 같은데 설명 부탁드립니다
안녕하세요 길벗수험서 운영팀입니다.
[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로하는 것이 더 맞는 수정이 되겠죠.
행복한 하루되세요 :)