백준 알고리즘 8393번 문제

sihwan_e·2020년 4월 8일
0

문제
n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.

입력
첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다.

출력
1부터 n까지 합을 출력한다.

풀이

1부터 n까지 의 합이라고 생각했을때 처음 떠오른건 당연 시그마기호였다.
하지만 컴퓨터의 시선에서 바라볼때 첫 시작점에서 1씩 더해준걸 합에 더해가는 것이라고 생각했다.
시작이 0이고 n이 5라면
0 + 1 + (1+1) + {(1+1)+1}...이런식으로 전개가되어 최종적으로 5까지 더해져 15가나오는 구조가 되길 바랬다.
start 0 1 2 3 4 5
sum=0,0,1,3,6,10,15

a=int(input()) 으로 문자열을 정수로 받아들이게 한다음
sum=0 첫 sum의 시작을 0으로 잡아두고
for i in range(a+1): for문은 입력한 a값까지 반복되게 설정했다.
sum=sum+i 새로운 sum은 기존의 sum에서 i씩 더해지는 구조
print(sum)

(풀이)

a=int(input())
sum=o
for i in range(a+1):
    sum=sum+i
print(sum)
이렇게 했을땐 왜 출력초과라고 나오는지, 아직 들여쓰기에 대한 이해가 낮은것이라고 생각한다.
향후 공부하고 알게되면 다시와서 글을 수정하자.
a=int(input())
sum=o
for i in range(a+1):
    sum=sum+i
    print(sum)
 

ps.이번 문제를 풀면서 들여쓰기에 관해 느끼고 배운게 있다면 , 확실하진 않지만 특히 for문 같은 조건문을 시작한 그 다음줄엔 무조건 들여쓰기를 해줘야 오류가 나지않았다.
앞으로 더 배워나가야 할부분이다.
그리고 머릿속에 1부터n까지 더하는 다른방법도 있는데 그것도 곧 구현해낼수있길 바란다.

profile
Sometimes you gotta run before you can walk.

0개의 댓글