TIL

[TIL] C++ 배열의 평균 구하기 & C언어 반복문과 배열의 기초

think95592 2026. 4. 24. 20:03

1. 학습 내용

  • 프로그래머스 문제: 정수 배열의 평균값 구하기 (C++)
  • C언어 강의: 반복문(Loop)과 배열(Array)의 구조 및 활용

2. 문제 핵심 및 코드 (C++)

배열의 평균을 구할 때 가장 중요한 것은 '정수 나눗셈'과 '실수 나눗셈'의 차이입니다. C++에서는 int끼리 나누면 소수점이 버려지므로, 합계를 double형으로 선언하여 정밀도를 유지해야 합니다.

  • 핵심 로직:
    1. 배열의 모든 요소를 for문(또는 범위 기반 for문)으로 순회하며 합산(sum)한다.
    2. 합산된 값을 배열의 크기(numbers.size())로 나눈다.
    3. 이때, 합계 변수를 double로 선언하여 형 변환(Type Casting)을 수행한다.
C++
 
#include <string>
#include <vector>

using namespace std;

double solution(vector<int> numbers) {
    double answer = 0;
    double sum = 0;
    
    for(int i = 0; i < numbers.size(); i++)
        sum += numbers[i];
    
    answer = sum / numbers.size();
    return answer;
}

 

3. C언어 강의: 반복문과 배열

오늘 강의에서는 데이터를 순차적으로 관리하는 배열의 특성과, 이를 제어하는 반복문의 관계를 배웠습니다.

  • 배열(Array): 동일한 타입의 데이터가 연속적인 메모리 공간에 나열된 구조.
  • 인덱스(Index): arr[0]부터 arr[n-1]까지의 위치를 통해 데이터에 접근.
  • 반복문과의 결합: for(int i = 0; i < size; i++) 패턴을 통해 배열의 모든 요소에 효율적으로 접근.

 

4. 배운 점 (Review)

  1. 자료형의 중요성: 평균값을 구할 때 소수점 처리를 위해 double 타입을 사용해야 한다는 점을 확실히 숙지함.
  2. 배열의 순회: C언어의 배열과 C++의 벡터는 사용법은 조금 다르지만, '연속된 메모리에 순차적으로 접근한다'는 본질적인 원리는 동일함.