1. 학습 내용
- 프로그래머스 문제: 정수 배열의 평균값 구하기 (C++)
- C언어 강의: 반복문(Loop)과 배열(Array)의 구조 및 활용
2. 문제 핵심 및 코드 (C++)
배열의 평균을 구할 때 가장 중요한 것은 '정수 나눗셈'과 '실수 나눗셈'의 차이입니다. C++에서는 int끼리 나누면 소수점이 버려지므로, 합계를 double형으로 선언하여 정밀도를 유지해야 합니다.
- 핵심 로직:
- 배열의 모든 요소를 for문(또는 범위 기반 for문)으로 순회하며 합산(sum)한다.
- 합산된 값을 배열의 크기(numbers.size())로 나눈다.
- 이때, 합계 변수를 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)
- 자료형의 중요성: 평균값을 구할 때 소수점 처리를 위해 double 타입을 사용해야 한다는 점을 확실히 숙지함.
- 배열의 순회: C언어의 배열과 C++의 벡터는 사용법은 조금 다르지만, '연속된 메모리에 순차적으로 접근한다'는 본질적인 원리는 동일함.
'TIL' 카테고리의 다른 글
| [UE5]가장 가까운 몬스터 추적 UI 및 Is Valid 에러 해결 (0) | 2026.04.27 |
|---|---|
| [Game Project] FPS 개발기: 게임 메커니즘 완성 및 UI 기능 구현 (UE 5.5.4) (0) | 2026.04.24 |
| [UE5]콜리젼을 이용한 아이템과 몬스터 행동패턴 (1) | 2026.04.23 |
| [UE5] 타임라인(Timeline)으로 구현하는 부드러운 총기 반동과 에임 복귀 (0) | 2026.04.22 |
| [UE5] 1인 레이드 프로토타입 제작기 (1) - 전투 시스템 기초 설계 (0) | 2026.04.21 |