티스토리 뷰
Python3
숫자의 ' 합 ' 을 생각하면 sum()함수 사용을 어떻게 할지 먼저 고민하게 된다.
일단 sum 함수를 사용하지 않고 풀어보자.
전체 코드 ( sum함수 사용 X ) :
N = int(input())
sum = 0
for i in range(1, N+1): # 1부터 N(이하)까지
sum += i
print(sum)
해당 코드는 백준 11720번과 조금 비슷한 듯 하다. 백준 11720번에서는 문자열을 받고 한자리의 수로 각각 나눠서 더하는 거지만.
비교해볼 문제 - 백준 11720번 : >> [Python/Algorithm] - 백준 11720 : 숫자의 합
그럼 sum()함수를 사용해서 푼다면?
전체 코드 ( sum함수 사용 ) :
N = int(input())
print(sum(range(1, N+1)))
두 줄로 바뀌었다. N을 입력받는 것까지는 같고, range() 함수를 이용해서 1부터 N(이하)까지 sum(iterator) 함수 ( : 인자로 들어온 모든 값 더하기 ) 를 이용했다.
다시 한번 sum 함수를 정리해보자면... ( 내가 자꾸 까먹는다 ㅠㅠ )
sum(iterable)
# 반환형 : 인자로 들어온 iterable 내부 모든 요소의 합
sum(iterable, start)
# 첫번째 인자 : iterable
# 두번째 인자 : 처음으로 또 더해줄 숫자
# 반환형 : 인자로 들어온 iterable 내부 모든 요소의 합 + start 값
까먹지말자... 기억하자...
sum 함수를 이용해서 한 줄로 문제를 풀 수도 있다. 더 짧게!
print(sum(range(1, int(input()) +1)))
간단하다. 그냥 변수 N을 따로 선언하지 않고 곧바로 range()함수 안에 넣어주었다.
해당 문제 : https://www.acmicpc.net/problem/8393
8393번: 합
n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.
www.acmicpc.net
'Python > Algorithm' 카테고리의 다른 글
백준 2438 : 별 찍기(1) (0) | 2021.01.23 |
---|---|
백준 10818 : 최소, 최대 (0) | 2021.01.23 |
백준 1924 : 2007년 (0) | 2021.01.21 |
백준 2739 : 구구단 (0) | 2021.01.21 |
백준 2741,2742 : N 찍기, 기찍 N (0) | 2021.01.21 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 파이썬sum
- 파이썬문법
- 파이썬for문
- 별 찍기
- SQLD40회
- 알고리즘
- 데이터베이스
- 백준 별찍기
- Unity GameObject 생성
- 백준
- f-string
- 데이터 모델링
- 백준파이썬
- 파이썬입출력
- 40회 SQLD
- SQLD1과목
- 파이썬 입출력
- range함수
- NaverCloudPlatform
- python문법
- python별찍기
- SQLD
- Python
- SUM함수
- SQLD 1과목
- 백준별찍기
- BAEKJOON
- 네이버클라우드플랫폼
- 파이썬
- SQLD 2과목
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함