[연습문제] 평균 구하기
2024. 11. 27. 18:00ㆍ입문문제
https://school.programmers.co.kr/learn/courses/30/lessons/12944
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 설명
정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.
제한사항
- arr은 길이 1 이상, 100 이하인 배열입니다.
- arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.
입출력 예
| arr | return |
| [1, 2, 3, 4] | 2.5 |
| [5, 5] | 5 |
주어진 배열(리스트)에 포함된 원소들에 대해서 그 평균을 구하는 문제입니다.
보통 숫자들의 평균을 구하라고 한다면 숫자들의 총합을 그 개수로 나눠줘서 구합니다.
이때 총합을 반복문을 통해서 구할 수도 있고, 내장 함수를 사용해서도 구할 수 있죠.
C언어에서는 반복문을 통해 배열의 총합을 구하고 arr_len으로 나눠줘 평균을 구하고, 파이썬에서는 내장 함수인 sum과 len을 사용해 평균을 구하면 될 것 같네요.
정답 코드를 작성해보겠습니다.
1. C
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// arr_len은 배열 arr의 길이입니다.
double solution(int arr[], size_t arr_len) {
// 평균을 기록할 answer
double answer = 0;
// 반복문을 사용해 모든 배열의 원소를 더합니다.
for (int i = 0; i < arr_len; i++) {
answer += arr[i];
}
// 총합을 개수로 나눠 평균을 구합니다.
answer /= arr_len;
return answer;
}
2. 파이썬
def solution(arr):
# 평균 = 총합 / 개수
answer = sum(arr) / len(arr)
return answer
제가 알기론 sum 함수도 내부적으로는 반복문을 사용하는 것으로 알고 있습니다.
따라서 C와 파이썬으로 구현한 두 코드 모두 시간 복잡도가 동일할 것 같네요.
'입문문제' 카테고리의 다른 글
| [연습문제] 핸드폰 번호 가리기 (0) | 2024.11.30 |
|---|---|
| [연습문제] 하샤드 수 (1) | 2024.11.29 |
| [연습문제] 콜라츠 추측 (0) | 2024.11.24 |
| [연습문제] 최대공약수와 최소공배수 (0) | 2024.11.22 |
| [연습문제] 짝수와 홀수 (0) | 2024.11.21 |