반응형

안녕하세요, 츄르 사려고 코딩하는 집사! 코집사입니다.

[백준 알고리즘/BOJ] 백준 15596번 정수 N개의 합 C++ 문제입니다.

 

 

1. 문제

정수 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개의 합

 

 

2. 문제 풀이

함수의 가장 간단한 문제이다.
C로 푼다면 배열과 N을 받아 배열에 있는 모든 정수들의 합을 구하여 리턴하면 된다.
C++ 경우 배열로 받거나 벡터로 받아서 합을 구하여 리턴하면 된다.

 

5. 소스 코드

C++

#include 
using namespace std;
long long sum(vector &a) {
    long long ans = 0;
    for(vector::iterator itr = a.begin(); itr != a.end(); itr++){
        ans += *itr;
    }
    
    return ans;
}

 

C

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

 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기