반응형
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
** Javascript
나의 풀이다.
(프로그래머스 풀다 보니 reduce에 대해 호기심이 생겨 level1 에서 reduce를 엄청 사용하기 시작하였다.)
function solution(arr) {
return arr.reduce((acc, curr) => acc + curr) / arr.length;
}
** Java
java는 그냥 for문을 돌렸다. for문이 가장 빠르다고 매번 갓택오버플로우에서 얘기가 나왔기에
class Solution {
public double solution(int[] arr) {
double answer = 0;
for (int i = 0; i < arr.length; i++) {
answer += arr[i];
}
return answer / arr.length;
}
}
다른 사람들 풀이 보면 null 체크도 해줬다. 나는 그럼 for문 형태를 변형하겠다.
class Solution {
public double solution(int[] arr) {
if (arr == null || arr.length == 0) return Double.valueOf(0);
double sum = 0;
for (int number : arr) {
sum += number;
}
return sum / arr.length;
}
}
arr 이 비어있거나 null 일 경우 바로 0으로 빠지도록 한다. 알다시피 0으로 나누는 건 안되기 때문.
반응형
'프로그래머스 > level 1' 카테고리의 다른 글
[프로그래머스] 최대공약수와 최소공배수 (0) | 2021.08.03 |
---|---|
[프로그래머스] 시저 암호 (0) | 2021.07.27 |
[프로그래머스] 하샤드 수 (0) | 2021.07.23 |
[프로그래머스] 핸드폰 번호 가리기 (0) | 2021.07.23 |
[프로그래머스] 행렬의 덧셈 (0) | 2021.07.23 |