728x90
반응형
백준 정수 n개의 합 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개의 합
반응형
풀이
풀이 방법은 간단하다
파이썬 함수 선언에 대해서 알아보도록 하겠다.
※ 기본 정의
def function_name( argument1,...):
do something...
return result
def 다음 자신이 원하는 함수 이름을 집어넣는다. 괄호 안에는 전달받을 매개변수를 넣는다.
다음 줄에서 원하는 동작을 수행 후 결과값을 return 시켜준다.
위 문제를 풀어보도록 하겠다.
두가지 방법으로 풀 수 있는데
첫번째 방법은 반복문을 이용한 방법,
두번째 방법은 파이썬 내장함수를 이용해서 풀었다.
첫번째 방법
def solve(a):
ans = 0
for i in a:
ans +=i
return ans
전달받은 매개변수 리스트 a을
반복문으로 이용해서 인자 하나씩 더해서 반환한다.
두번째 방법
간단하게 2줄로 끝났다.
함수명을 solve로 지어 주었다.( 2줄 ), 전달받은 매개변수는 a로 하였다. ( 2줄 )
반환값으로 파이썬 내장함수인 합계를 구해주는 sum 함수를 써서 전달받은 리스트들의 합을 반환해 주었다.
결과 화면이다. 밑에 있는게 첫번째 방법으로 푼 결과이다.
첫번째에 비해 두번째로 푼방법이 코드길이도 줄었을 뿐 아니라 수행시간도 줄어든 모습을 볼 수 있다.
그럼 오늘은 이만.
728x90
반응형
'프로그램이야기 > 알고리즘' 카테고리의 다른 글
[백준] 한수 1065번(파이썬) (0) | 2020.10.23 |
---|---|
[백준] 셀프 넘버 4673번(파이썬) (0) | 2020.10.21 |
[백준] OX퀴즈 8958번(파이썬) (0) | 2020.10.20 |
[백준] 평균 1546번(파이썬) (0) | 2020.10.19 |
[백준] 나머지 3052번(파이썬) (0) | 2020.10.16 |
댓글