티스토리 뷰

728x90
반응형

백준 온라인 저지(BOJ) 15596번 정수 N개의 합

https://www.acmicpc.net/problem/15596

 

15596번: 정수 N개의 합

C++17, Java 8, Python 3, C11, PyPy3, C99, C++98, C++11, C++14, Go, C99 (Clang), C++98 (Clang), C++11 (Clang), C++14 (Clang), C11 (Clang), C++17 (Clang)

www.acmicpc.net

* 사용언어 : C언어, C++

 

1. 문제

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

(0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000)

 

2. 풀이

배열을 순차적으로 탐색하면서 전부 더해서 Return 하면 되는 간단한 문제입니다.

 

다만, 결과의 최대값이 1,000,000 * 3,000,000 = 3,000,000,000,000 (3조) 라는 점과

지금까지 풀어온 문제와 다르게 함수만 구현해야 한다는 점이 괜히 복잡하게 보이는 것 같습니다.

 

주로 사용하는 int 형은 4 byte 로 약 +21억~-21억 정도까지만 표현할 수 있습니다.

따라서 8 Byte 를 사용하는 long long 자료형은 사용해줍니다.

 

함수 구현을 어떻게 할까 고민하다가 제출에 들어가봤더니 가이드 코드가 작성되어 있었습니다.

문제 풀이를 위한 고민이 무색해졌고 간단하게 for 문만 추가하고 제출하였습니다.

 

 

3. 코드

long long sum(int *a, int n) {
	long long ans = 0;
	for (int i = 0; i < n; ++i) {
		ans += a[i];
	}
	return ans;
}
728x90
반응형
댓글