본문 바로가기
알고리즘/Baekjoon

[Python] 15596번 정수 N개의 합 - 백준

by Jun Shim 2021. 10. 14.
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개의 합 (정수)

 

다양한 풀이

풀이 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

댓글