반응형
https://www.acmicpc.net/problem/15596
문제
정수 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개의 합
소스코드
풀이
★ sum 함수를 활용해서 푸는 방법과 함수 안에서 반복문을 활용하여 푸는 방법 2가지를 사용해봤습니다. sum 함수를 사용해서 결과 값을 구하는 방법에서 시간이 더 빠르게 나오는 것을 확인할 수 있습니다. 하지만 내장 함수를 사용하지 못하게 하는 경우도 있으니 for 반복문 방법도 알아놓으시면 좋을 듯 합니다 !
★ 문제 풀면서 계속 런타임 에러(importError)가 발생했었는데, 함수과 매개변수를 소스코드처럼 사용하지 않았기 때문입니다. 제출란에 들어가시면 소스코드가 나오는데 함수 이름과 매개변수명을 동일하게 사용해줘야 하는 거 같습니다.
★ 저는 제 마음대로 설정했다가 영문도 모르고 5번째만에 통과했습니다 ^^ ㅎㅎ
반응형
'Algorithm > 백준' 카테고리의 다른 글
[백준 알고리즘] 2563번: 색종이 (Python) (0) | 2023.04.26 |
---|---|
[백준 알고리즘] 2108번: 통계학 (Python) (0) | 2023.04.26 |
[백준 알고리즘] 11723번: 집합 (Python) (0) | 2023.04.22 |
[백준 알고리즘] 2738번: 행렬 덧셈 (Python) (0) | 2023.04.21 |
[백준 알고리즘] 7568번: 덩치 (Python) (1) | 2023.04.20 |