📟java/백준

백준 15596 자바

하얀성 2022. 11. 9. 12:28

문제

 

정수 n개가 주어졌을 때, n개의 합을 구하는 함수를 작성하시오.

작성해야 하는 함수는 다음과 같다.

  • C, C11, C (Clang), C11 (Clang): long long sum(int *a, int n);
    • a: 합을 구해야 하는 정수 n개가 저장되어 있는 배열 (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000)
    • n: 합을 구해야 하는 정수의 개수
    • 리턴값: a에 포함되어 있는 정수 n개의 합
  • C++, C++11, C++14, C++17, C++ (Clang), C++11 (Clang), C++14 (Clang), C++17 (Clang): long long sum(std::vector<int> &a);
    • a: 합을 구해야 하는 정수 n개가 저장되어 있는 배열 (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000)
    • 리턴값: a에 포함되어 있는 정수 n개의 합
  • Python 2, Python 3, PyPy, PyPy3: def solve(a: list) -> int
    • a: 합을 구해야 하는 정수 n개가 저장되어 있는 리스트 (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000)
    • 리턴값: a에 포함되어 있는 정수 n개의 합 (정수)
  • Java: long sum(int[] a); (클래스 이름: Test)
    • a: 합을 구해야 하는 정수 n개가 저장되어 있는 배열 (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000)
    • 리턴값: a에 포함되어 있는 정수 n개의 합
  • Go: sum(a []int) int
    • a: 합을 구해야 하는 정수 n개가 저장되어 있는 배열 (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000)
    • 리턴값: a에 포함되어 있는 정수 n개의 합
  •  

작성 답안

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);

int N = s.nextInt();
int[] a;
long sum = 0;

for(int i=0; i < N ; i++) {
a[i] = s.nextInt();
sum += a[i];

}
}
class Test (long sum(int[] a){


}return sum;
}

 

System.out.println(sum);

 

?? Test 클래스 완성을 어떻게 할지 모르겠음(저 매개변수들 어떻게 활용하는지도 잘 모르겠음)

 


<정답>

 주의할 점

  1. main 을 구현하는 것이 아니라 "함수만" 구현하는 문제다

 

  • 풀이 방법

 

함수만 구현하라니.. 뭔소리인가 싶겠으나 다행이 문제에서 자세하게 서술되어 있다.

 

아래 사진을 보자

 



 

클래스 이름은 Test 이다.

함수로 넘어오는 인자 a 는 합을 구해야 하는 정수 배열이다.

 

즉 a 배열에 저장되어있는 정수들을 더하여 long 형으로 리턴시켜주어야한다.

 


- 방법 1 

 
class Test {
 
long sum(int[] a) {
 
long sum = 0; // a 배열 정수 합 변수
 
 
 
for(int i = 0; i < a.length; i++) {
 
sum += a[i];
 
}
 
return sum;
 
}
 
}

 


<수정 보완>

함수만 구현 하랬으니.. 스캐너에서 값을 받아올 필요가 없는가 보다.

그대로 sum값 리턴 하면 끝이다... 그리고 Test클래스 안에 sum 함수를 그냥 쓰면 되는 것이었다.

 

정답 및 풀이 출처: https://st-lab.tistory.com/52

 

 

 

 

 

 

'📟java > 백준' 카테고리의 다른 글

백준 11654 자바  (0) 2022.11.10
백준 1065 자바  (0) 2022.11.10
백준 4344 자바  (0) 2022.11.09
백준 1546 자바  (1) 2022.11.08
백준5597 자바  (0) 2022.11.08