티스토리 뷰

 Python3 

 

sum 함수를 사용하지 않고 코딩했을 때,

N = int(input())		# 숫자 입력받기
num = input()			# 문자열 입력받기
sum = 0

for i in range(N):
    sum += int(num[i])	# sum에 문자열의 앞 index부터 N개 만큼 숫자형으로 바꾸어서 더해주기

print(sum)

갯수N을 입력받은 후, num에 N개의 숫자를 입력받는다.

for문과 range 사용은 >> [Python/Function & Grammer] - Python : for문 여기서 확인~

 

 

 

sum 함수 이용

그럼 sum 함수를 이용하고 코딩했을 때는?

 

sum(iterable)

# 반환형 : 인자로 들어온 iterable 내부 모든 요소의 합
sum(iterable, start)

# 첫번째 인자 : iterable
# 두번째 인자 : 처음으로 또 더해줄 숫자
# 반환형 : 인자로 들어온 iterable 내부 모든 요소의 합 + start 값

 

 

 

sum() 함수를 이용하여 백준 11720번을 풀자면,

sum(map(int,input()))

# 입력받은 문자열을 map()함수로 리스트에 숫자로 넣은후
# sum()함수를 이용하여 모두 더해준다. 

이렇게 사용 할 수 있다.

 

 

 

전체 코드는 이렇다.

N = input()

print(sum(map(int,input())))

사실상 이 코드는 N 을 입력은 받지만, 사용하지 않게 된다. 

더 짧고 간단하게 작성하려면 sum()함수를 이용하면 된다.

 

 

 

 

 

해당 문제 : https://www.acmicpc.net/problem/11720
 

11720번: 숫자의 합

첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다.

www.acmicpc.net

 

더 많은 입출력 예제는 사이트에 있다.

댓글