강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

(2025) 일주일만에 합격하는 정보처리기사 실기

함수와 재귀함수 (v2)

15분대 평균을 구해보는 함수 예시에 대한 질문

해결된 질문

작성

·

64

0

sum += arr[i]

가 누적이 아니기 때문에 1부터 5까지 더하는 것의 평균을 구하게 된다는 것은 이해했습니다!

 

다들 헷갈리게 되는 부분이 누적이 되는가 안 되는가 때문인 거 같은데, 그럼 만약 누적으로 만들려면 어떻게 함수를 적어야 하는지 궁금합니다!

답변 2

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

누적이 안된다는 게 무슨 말씀이시죠? sum에 모두 누적됩니다.

누적이 된 것을 전체 숫자로 나눠야 평균이 되는 것이죠.

 

sum이라는 변수는 반복문 바깥에 선언되어있기 때문에 반복문 안의 임시변수가 아닙니다.

계속 누적된 다음에 평균을 구하고 리턴됩니다.

 

i=0, sum = sum + arr[0]

0 + 1 = 1

i=1, sum = sum + arr[1]

1 + 2 = 3

i=2, sum = sum + arr[2]

3 + 3 = 6

i=3, sum = sum + arr[3]

6 + 4 = 10

i=4, sum = sum + arr[4]

10 + 5 = 15

 

이렇게 돼서 15 / 5 =3

 

이렇게 된다고 이해하면 된다는 말씀이시죠??

 

이렇게 적고 보니까 1부터 5까지 더하는 거랑 같다는 게 보이네요..

주말코딩님의 프로필 이미지
주말코딩
지식공유자

네 맞습니다. 그렇게 누적되는 것입니다.

정확하게 이해하셨습니다.

0

안녕하세요, 인프런 AI 인턴입니다. learning0918님.

질문해주신 내용은 for 문을 통해 배열의 요소를 누적하고 그 평균을 계산하는 방법에 대한 내용입니다. sum += arr[i] 구문은 for 문 내에서 사용될 때 배열의 각 요소를 누적하여 합을 구할 수 있습니다.

만약 누적으로 평균을 구하고자 한다면 다음과 같은 절차를 고수하시면 됩니다:

  1. 초기화 및 누적 합 계산:
    • sum 변수를 0으로 초기화합니다.
    • for 문을 사용하여 배열 arr를 순회하며 각 요소를 sum에 더합니다.
int[] arr = {1, 2, 3, 4, 5};
int sum = 0;
for (int i = 0; i < arr.length; i++) {
    sum += arr[i];  // 누적 합 계산
}
  1. 평균 계산:
    • 각 요소의 합을 배열의 길이로 나누어 평균을 구합니다.
double average = (double) sum / arr.length;  // 평균 계산
System.out.println("Average: " + average);

이 과정에서의 핵심은 sum += arr[i] 구문을 통해 누적 합을 계산하는 것입니다. 모든 반복 회차에서 arr[i] 값이 sum에 더해지기 때문에 최종적으로 sum에 모든 요소의 합이 저장됩니다.

아래 링크를 참고하여 반복문의 원리를 더욱 자세히 이해하실 수 있습니다:
- 비전공자, 반복문 헷갈리는 이유 - 반복문과 누적 합계에 대한 설명이 잘 제공되어 있습니다.
- switch -case - 반복문을 다양한 조건과 함께 사용하여 다양한 결과를 예측하는 데 도움을 줍니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기