정수 n개가 주어졌을 때, n개의 합을 구하는 함수를 작성하시오.
작성해야 하는 함수는 다음과 같다.
long sum(int[] a);
(클래스 이름 : Test)
- a : 합을 구해야 하는 정수 n개가 저장되어 있는 배열
(0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000)- 리턴값 : a에 포함되어 있는 정수 n개의 합
a
의 요소 개수만큼 for
문을 돌려서 합계를 구한다.public class Test {
long sum(int[] a) {
long ans = 0;
for(int i=0; i<a.length; i++)
ans += a[i]; // `int`타입은 `long` 타입으로 자동 형 변환 되므로 강제 형 변환(캐스팅) 시킬 필요 없다.
return sum;
}
배열의 합을 구하는 방법에는 반복문 외에도 여러가지 방법이 있다.
IntStream.of().sum()
를 이용하여 구하기Arrays.stream().sum()
를 이용하여 구하기List
화 하여 List.stream().forEach()
를 이용하여 구하기3번은 반복문을 이용하므로 제외한다 쳐도, 1번과 2번은 전달받은 배열을 인자로 전달하기만 하면 되는데 왜 실패라고 뜬 걸까?
java
의 버전이 8이던데.. 버전의 문제인걸까?
아무튼 시간 초과될 수도 있겠다 싶었는데 통과된 게 신기하다.