반응형
문제 : 정수 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는 따로 포스팅을 진행해보겠습니다.
#행복한 하루되세요! 공감 버튼 부탁드립니다!!
반응형
'프로그래밍 ( Programming ) > 백준 알고리즘 (BaekJoon Algorithm)' 카테고리의 다른 글
1065번 - 한수 ( 백준 알고리즘/c++ ) (0) | 2020.12.07 |
---|---|
4673번 - 셀프 넘버 ( 백준 알고리즘 / C++ ) (0) | 2020.12.03 |
4344번 - 평균은 넘겠지 ( 백준 알고리즘 / C++ ) (0) | 2020.11.27 |
8958번 - OX퀴즈 ( 백준 알고리즘 / C++ ) (0) | 2020.11.26 |
1546번 - 평균 ( 백준 알고리즘 / C++ ) (0) | 2020.11.26 |
댓글