모두CBT

다음은 n개의 데이터에 대한 평균을 재귀적으로 계산하는 프로그램이다. … | [7급 국가직 알고리즘] 25년 1회차 기출문제 상세 페이지

1[7급 국가직 알고리즘] 25년 1회차
다음은 n개의 데이터에 대한 평균을 재귀적으로 계산하는 프로그램이다. (가) ~ (다)에 들어갈 내용을 바르게 연결한 것은? (단, n ≥ 1이다)
float AVG(float (가), int n) {
if(n == 1) return (나);
else
return (data[n - 1] + (n - 1) * AVG(data, n - 1)) / (다);
}
1
(가) data[] / (나) 0 / (다) n
2
(가) data[] / (나) 1 / (다) (n-1)
3
(가) *data / (나) data[0] / (다) n
4
(가) *data / (나) data[n-1] / (다) (n-1)
해설

(가)는 *data, (나)는 data[0], (다)는 n이다.

원소가 하나면 평균은 그 원소 자신이므로 data[0]을 반환한다.

앞 n-1개의 평균에 (n-1)을 곱하면 그 합이 되고, 여기에 마지막 원소 data[n-1]을 더하면 n개의 합이므로 n으로 나누어야 평균이 된다. 매개변수는 배열을 받는 포인터 *data로 선언한다.

  • (나)를 0으로 두면 원소가 하나일 때 평균이 항상 0이 되어 틀렸다.
  • (나)를 1로, (다)를 (n-1)로 두면 기저값과 나누는 개수가 모두 맞지 않는다.
  • (나)를 data[n-1]로, (다)를 (n-1)로 두면 n개 합을 n-1로 나누게 되어 평균이 아니다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[7급 국가직 알고리즘] 25년 1회차 25문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요7급 국가직 알고리즘 기출문제 암기장 전체 보기