본문 바로가기
프로그래밍 ( Programming )/백준 알고리즘 (BaekJoon Algorithm)

15596번 - 정수 N개의 합 ( 백준 알고리즘 / C++ )

by Jayce_choi 2020. 11. 28.
반응형
 

15596번: 정수 N개의 합

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

www.acmicpc.net

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

 

 

 

 


1번 코드 

#include<iostream>
#include<vector>
using namespace std;
long long sum(std::vector<int>&a)
{
	long long result = 0;
	for (vector<int>::iterator iter = a.begin();iter < a.end();iter++)
		result += *iter;


	return result;
}

2번 코드

#include<iostream>
#include<vector>
using namespace std;

long long sum(vector<int> &a)
{
	long long result = 0;
	for (int i = 0;i < a.size();i++)
	{
		result = result + a[i];
	}
	return result;
}

중요 포인트 
 - 문제가 뭔지 잘 알자 ( 함수만 작성하면 되는 거였구나.. )
 - 간단하게 for 반복문을이용하여 합산된 결과를 return.


Vector 사용과 배열 호출법을 알아두면 좋을듯하다. 
배열을 함수에서 호출하기 위해서 포인트를 사용하여 첫 번째 index가 가진 주소 값을 참조하여 배열 전체를 가져오게 된다. 
Vector는 따로 포스팅을 진행해보겠습니다.

 

#행복한 하루되세요! 공감 버튼 부탁드립니다!!

반응형

댓글