[BOJ] 15596 정수 N개의 합 (JAVA)

joyful·2021년 4월 9일
0

Algorithm

목록 보기
38/62

✅ 문제

정수 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;
}

🤔 개인적인 궁금증

배열의 합을 구하는 방법에는 반복문 외에도 여러가지 방법이 있다.

  1. IntStream.of().sum() 를 이용하여 구하기
  2. Arrays.stream().sum() 를 이용하여 구하기
  3. 배열의 요소들을 List화 하여 List.stream().forEach()를 이용하여 구하기

3번은 반복문을 이용하므로 제외한다 쳐도, 1번과 2번은 전달받은 배열을 인자로 전달하기만 하면 되는데 왜 실패라고 뜬 걸까?
java의 버전이 8이던데.. 버전의 문제인걸까?

아무튼 시간 초과될 수도 있겠다 싶었는데 통과된 게 신기하다.

profile
기쁘게 코딩하고 싶은 백엔드 개발자

0개의 댓글