백준 8393번 - 합 with python
Q. n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.
입력> 첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다.
출력> 1부터 n까지 합을 출력한다.
되게 간단한 문제! 차근차근 쫓아오면 된다~
먼저 n을 입력받아보자.
n = int(input())
n은 입력함수를 통해 받아올 수 있다.
이제 이 n이 주어졌을 때 1부터 n까지 합해야 한다.
일단 for문을 먼저 생각해보자.
우리는 1부터 n까지 더해야하므로, for문의 범위도 1부터 n까지 설정해야 한다.
range(1,n)을 범위로 지정해주면 되겠다고 생각하는 분들이 있을 것 같다.
하지만 지난 포스팅에서도 말했듯이, range(1,n)은 1이상 n미만을 의미한다. 즉, n은 범위에 포함하지 않는것이다.
이 문제점을 해결해주려면 n에 1을 더해준다.
range(1,n+1)로 해서 1이상 n+1미만으로 범위를 지정해주어도 좋고,
어차피 우리는 합에 대해 구하는데, 0은 더해도 변화가 없으므로 그냥 range(n+1)이라고 지정해주어도 좋다.
for문을 작성해보면
i=1
for i in range(n+1):
i+=1
로 작성해줄 수 있다. 그러면 i가 0에서부터 하나씩 더해진다.
하지만 여기서 i는 그냥 하나씩 더해질 뿐, 누적해서 합산이 되지 않는다.
그러려면 새로운 변수를 지정하여 그곳에 누적합을 더해주면 된다.
바로 sum+=i를 이용해보자.
sum+=i는 sum= sum+i를 나타낸다.
즉 i가 0일때부터 i가 하나씩 더해질때, 그 i를 모두 더하는 것이다.
i는 1에 대한 누적합,
sum은 i에 대한 누적합이라고 생각하면 편할 것이다.
그래서 다시 코드를 정리해보면
n = int(input())
i=1
sum=0
for i in range(n+1):
sum +=i
i += 1
print(sum)
가 되고, for문을 마무리 한 후 sum에 대한 값을 출력시킨다.
'우당탕탕 파이썬 with 하루하나 알고리즘' 카테고리의 다른 글
백준 2741 파이썬 - 1부터 N까지 차례대로 출력하기 (0) | 2022.03.21 |
---|---|
백준 15552 파이썬 - input를 대신할 함수가 있다고?! (0) | 2022.03.21 |
백준 10950 파이썬 - for문을 활용해 A+B 구하기 (0) | 2022.03.20 |
백준 2739 파이썬 - for문을 사용하여 구구단을 외자! (0) | 2022.03.19 |
백준 2480 파이썬 - if문을 활용해 조건 별 계산 식 도출하기 (0) | 2022.03.18 |