15분대 평균을 구해보는 함수 예시에 대한 질문
88
작성자 없음
sum += arr[i]
가 누적이 아니기 때문에 1부터 5까지 더하는 것의 평균을 구하게 된다는 것은 이해했습니다!
다들 헷갈리게 되는 부분이 누적이 되는가 안 되는가 때문인 거 같은데, 그럼 만약 누적으로 만들려면 어떻게 함수를 적어야 하는지 궁금합니다!
답변 2
0
누적이 안된다는 게 무슨 말씀이시죠? sum에 모두 누적됩니다.
누적이 된 것을 전체 숫자로 나눠야 평균이 되는 것이죠.
sum이라는 변수는 반복문 바깥에 선언되어있기 때문에 반복문 안의 임시변수가 아닙니다.
계속 누적된 다음에 평균을 구하고 리턴됩니다.
0
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 문 내에서 사용될 때 배열의 각 요소를 누적하여 합을 구할 수 있습니다.
만약 누적으로 평균을 구하고자 한다면 다음과 같은 절차를 고수하시면 됩니다:
- 초기화 및 누적 합 계산:
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]; // 누적 합 계산
}
- 평균 계산:
- 각 요소의 합을 배열의 길이로 나누어 평균을 구합니다.
- 각 요소의 합을 배열의 길이로 나누어 평균을 구합니다.
double average = (double) sum / arr.length; // 평균 계산
System.out.println("Average: " + average);
이 과정에서의 핵심은 sum += arr[i] 구문을 통해 누적 합을 계산하는 것입니다. 모든 반복 회차에서 arr[i] 값이 sum에 더해지기 때문에 최종적으로 sum에 모든 요소의 합이 저장됩니다.
아래 링크를 참고하여 반복문의 원리를 더욱 자세히 이해하실 수 있습니다:
- 비전공자, 반복문 헷갈리는 이유 - 반복문과 누적 합계에 대한 설명이 잘 제공되어 있습니다.
- switch -case - 반복문을 다양한 조건과 함께 사용하여 다양한 결과를 예측하는 데 도움을 줍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
정처기 2026-3 실기 문의
0
84
2
정처기 실기 3회 컴싸 사용 여부
0
52
1
모의고사 1 회 2번문제 중
0
71
2
26-2 이론문제 재탕
1
54
1
26-2년도 코드문제
0
36
0
26-2 코드문제
0
43
1
15분 48초 질문
0
57
2
26-1년도 이론문제 재탕
0
65
1
26-1년도 코드문제 재탕
0
44
0
이론재탕만 눈치챘어도
0
72
1
25-3년도 이론문제 재탕
0
57
1
25-3년도 코드문제 재탕
0
41
0
출력값 문의
0
53
2
25-2 분기커버리지
0
47
0
25-2 이론 재탕
0
66
1
25-1 이론 재탕
0
53
1
서브넷 마스크
0
52
2
모의고사 1회 계산문제 2개 맞았는데
0
68
2
업캐스팅 문제 예시 4번 부모 호출
0
51
2
모의고사 자료 해설이 너무 불친절하네요.
0
95
2
부모의 생성자 출력 관련
0
48
2
24-3 이론파트 재탕문제
0
57
0
누락코드
0
45
1
다차원 배열 포인터 질문있습니다
0
71
3





