C/백준알고리즘

[C] 백준알고리즘 #15596 정수 N개의 합

Sehyeok20 2021. 1. 28. 12:43
반응형

백준알고리즘 #15596 정수 N개의 합

 

정수 n개가 주어졌을 때 n개의 합을 구하는 함수를 구하는 문제이다.

 

먼저 제출을 누르면 다음과 같이 정답 양식이 나온다.

long long sum(int *a, int n) {
	long long ans = 0;
	return ans;
}

 

위 양식에 맞추어 함수를 만들어주면 되겠다.

*a는 정수가 저장된 배열을 가리키는 포인터이고 n은 정수의 개수를 나타낸다.

 

따라서

long long sum(int *a, int n) {
	long long ans = 0;
	for (int i = 0; i < n; i++) {
		ans += a[i];
	}
	
	
	return ans;
}

위와같이 for문을 이용하여 파라미터로 전달받은 a배열에서 n개만큼 반복하여 ans에 더해주면 된다.

이를 이용하여 main함수도 만들어보자.

#include <stdio.h>

long a[3000000] = { 0 };

long long sum(int* a, int n) {
	int sum = 0;
	for (int i = 0; i < n; i++) {
		sum += a[i];
	}
	
	return sum;
}

int main() {
	int n;
	int result = 0;
	
	scanf_s("%d", &n);
	for (int i = 0; i < n; i++) {
		scanf_s("%d", a+i);
		
	}
	result = sum(a, n);
	printf("%d", result);
	
}

a 배열의 크기가 너무 커서 전역변수로 두었다

for문을 이용하여 n개의 정수를 차례대로 입력받아 a 배열에 저장해준다

result 변수에는 위 sum 함수의 결과를 저장해준 후 출력해주면 된다.

반응형