728x90
정수 N개의 합
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개의 합을 구하는 함수를 작성하시오.
작성해야 하는 함수는 다음과 같다.
- 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개의 합 (정수)
- a: 합을 구해야 하는 정수 n개가 저장되어 있는 리스트 (
다양한 풀이
풀이 1
로그인
www.acmicpc.net
def solve(a):
return sum(a)
가장 일반적인 풀이 방법이다. 내장 함수 sum을 이용해서 list의 합을 반환한다.
풀이 2
로그인
www.acmicpc.net
def solve(a: list) -> int:
return sum(a)
[풀이 1]의 함수와 다른 점은 미리 인자와 반환 값에 대한 자료형을 정해주는 것이다. 정확히는 자료형에 대한 힌트를 지정해줘서 함수를 이용하는 시점에서 분석에 좀 더 편리함을 준다. 즉 int라는 힌트를 가진 인자에 float가 들어오더라도 문제없이 실행될 수 있다. Python 3.5부터 도입된 문법이다.
백준을 기준으로 더 빠른 실행시간을 보여준다.
728x90
'알고리즘 > Baekjoon' 카테고리의 다른 글
[Python] 1065번 한수 - 백준 (0) | 2021.10.18 |
---|---|
[Python] 4673번 셀프 넘버 - 백준 (0) | 2021.10.15 |
[Python] 4344번 평균은 넘겠지 - 백준 (0) | 2021.10.13 |
[Python] 8958번 OX퀴즈 - 백준 (0) | 2021.10.12 |
[Python] 1546번 평균 - 백준 (0) | 2021.10.11 |
댓글