본문 바로가기

코딩/백준 BOJ

[백준/C언어] 15596번 - 정수 N개의 합

백준 웹사이트 "15596번 - 정수 N개의 합" 문제풀이입니다.

언어는 C언어입니다. (제출 언어: C99)

 


문제

 

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


소스 코드

#include <stdio.h>

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

문제 풀이

  C언어에서 함수를 어떻게 구현하는지 공부해보는 문제로, 'main'을 딱히 만들지 않고 정말 함수만 작성해주면 됩니다. 'long long'형은 64비트의 정수형으로, 크기가 매우 큰 정수입니다. 일반적인 크기에서는 'int'로도 충분하지만, 더욱 큰 정수형을 다룰 때 필요한 자료형입니다. 입력 배열 a의 한 값은 범위가 0 ≤ a[i] ≤ 1,000,000이며, 총 정수의 개수 n은 범위가 1 ≤ n ≤ 3,000,000인 만큼, 굉장히 크고 많은 수를 다루는 함수입니다. 따라서 'long long'형과 같이 큰 범위의 자료형을 이용해야 합니다.

  함수의 내용 자체는 배열의 값들을 하나씩 더하는 것으로, 매우 간단합니다. Line 4에서 선언하는 변수 sum_a의 자료형도 반드시 함수의 return 값과 동일한 'long long'형이어야 함을 주의하세요!

반응형