8393번: 합
n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오.
www.acmicpc.net
방법 1.
if __name__=='__main__':
n = int(input())
ans = 0
for i in range(1,n+1):
ans+=i
print(ans)
방법 2.
if __name__=='__main__':
n = int(input())
print(n*(n+1)//2)
수학을 이용하면 방법2지만, 알고리즘 풀 때는 의외로 방법1의 구조를 써야할 때가 많은 것 같다.
방법2에서는 //2가 아닌, /2를 하면 틀렸다고 나오는데, 아마 int형을 반환해야하는데 float형으로 반환돼서 그런것 같다.
'공부하는 것들 > 알고리즘' 카테고리의 다른 글
백준 2420 : 사파리월드 (0) | 2021.02.20 |
---|---|
백준 10430 : 나머지 (0) | 2021.02.19 |
백준 5554 : 심부름 가는 길 (0) | 2021.02.19 |
백준 3046 : R2 (0) | 2021.02.19 |
백준 3003 : 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2021.02.19 |