티스토리 뷰

 

[Python] 백준 알고리즘 온라인 저지 11720번 : 숫자의 합

 

Python3 코드

 

1) sum함수를 이용

n = input()

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

 

2) for문을 이용 -1

n = input()
nums = input()
total = 0
for i in nums :
    total += int(i)  # total= total+int(i)
print(total)

 

3) for문을 이용 -2

n = input()
nums = input()
total = 0
for i in range(n) :  # 0부터 n-1까지
    total += int(nums[i])
print(total)

 

 

Python3 코드 풀이

 

1. 코드 작성에 대한 전체적인 풀이

이번 문제는 숫자 n을 입력받으면 n개만큼의 공백 없이 쓰여있는 숫자를 입력받고서 숫자들의 합을 구하는 문제이다. 숫자의 합을 구하는 문제는 처음 파이썬으로 for문을 배울 때 연습했던 알고리즘이어서 쉽게 문제를 풀 수 있었다.

 

숫자의 합은 for문으로도 구할 수 있고 sum 함수로 간단하게 구할 수도 있기 때문에 두 가지 방법을 다 사용해서 코드를 작성해보았다. 

 

ddd

 

2. sum함수를 이용하여 코드를 작성한다.

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

처음에 입력받는 숫자의 개수 n은 입력만 받은 후 활용하지 않았다. 두 번째 입력받는 n개의 숫자가 공백 없는 문자열인 점을 이용하여 map함수로 각 자리의 수를 int 타입으로 변환하였고 이후 sum 함수를 이용해서 모두 합한 값을 출력하였다. 

 

3. for문을 이용한 방법 두가지 코드를 비교

3-1. 첫 번째 코드

for i in nums :
    total += int(i)  # total= total+int(i)

3-2. 두 번째 코드

for i in range(n) :  # 0부터 n-1까지
    total += int(nums[i])

for문으로 작성한 두 개의 코드 중 for문 부분만 비교를 해보았다.

 

첫 번째 코드는 맨 처음에 입력받는 숫자의 개수 n은 활용하지 않았다. n개의 숫자를 문자열로 입력받아서 선언해두었던 nums 변수를 하나씩 분리해서 변수 i로 꺼내고서 각 문자열을 int 함수로 변환 후 더하였다.

 

두 번째 코드는 n을 for문으로 반복해서 숫자 리스트인 nums의 인덱스로 활용하였다. 첫 번째 코드는 n개의 숫자를 입력받았던 숫자 리스트를 하나씩 꺼내서 더할 수 있도록 하였다. 

 

반응형
댓글
반응형