728x90
반응형
🔥개인 취미 목적으로 프로그래머스 문제를 정리한 게시글입니다.
https://school.programmers.co.kr/learn/courses/30/lessons/12944
✏️ 문제설명
정수를 담고 있는 배열 arr의 평균값을 return 하는 함수, solution을 완성해 보세요.
💡 제한사항
arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.
📚 입출력 예
arr | answer |
[1, 2, 3, 4] | 2, 5 |
[5, 5] | 5 |
💻 소스 코드
class Solution {
public double solution(int[] arr) {
double sum = 0;
for(int arrs : arr) {
sum += arrs;
}
return sum / arr.length;
}
}
위 코드는 주어진 정수 배열 arr의 요소들의 평균값을 계산하는 메서드를 구현한 것입니다.
코드의 설명을 다음 동작과 같이 설명할 수 있습니다.
- arr 배열의 요소들을 더해줄 sum이라는 double형 변수를 선언하고 0으로 초기화합니다.
- 주어진 배열 arr을 향상된 for문으로 반복하면서 모든 요소를 sum에 더해줍니다.
- 배열의 모든 요소를 더해진 sum에 배열의 길이 arr.length를 나누어 평균을 계산한 후 반환합니다.
시간 복잡도
이 코드의 시간 복잡도는 배열의 길이에 선형적으로 비례합니다.배열의 모든 요소를 한 번씩 더하기 때문에 시간 복잡도는 O(n)입니다. 여기서 n은 배열의 길이를 나타냅니다.
공간복잡도
이 코드는 입력 배열 arr의 길이와 상관이 없으며, 상수 공간을 사용하기 때문에 공간 복잡도는 O(1)입니다. 메서드 내에서 추가적인 데이터 구조나 배열을 생성하지 않고, 고정된 수의 변수만 사용하므로 공간 사용량이 상수로 유지됩니다.
728x90
반응형
'Programmers > Lv1' 카테고리의 다른 글
[프로그래머스] Lv.1 문자열을 정수로 바꾸기 - Java (0) | 2023.11.22 |
---|---|
[프로그래머스] Lv.1 x만큼 간격이 있는 n개의 숫자 - Java (0) | 2023.11.21 |
[프로그래머스] Lv.1 나머지가 1이 되는 수 찾기 - Java (0) | 2023.11.20 |
[프로그래머스] Lv.1 약수의 합 - 자바[Java] (0) | 2023.11.18 |
[프로그래머스] Lv.1 짝수와 홀수 - Java (0) | 2023.11.17 |