나는 반복문을 이용해 1씩 증가 시키면서 다 더했다.
훨씬 좋은 코드들이 있었다.
1) sum함수를 이용해 범위 내의 값들을 더한다.
if a > b: a, b = b, a :
print(sum(range(a,b+1)))
2) 1~n의 합은 n*(n+1)/2
n~m의 합은 (m-n+1)*(n+m)/2 즉, (수의 개수)*(첫번째수+마지막수)/2
print((abs(a-b)+1)*(a+b)//2)
'알고리즘' 카테고리의 다른 글
소수구하기. 에라토스테네스의 체 (0) | 2022.09.26 |
---|---|
최단 경로 구하기. BFS? 다익스트라? (0) | 2022.08.26 |
최대공약수, 최소공배수 (0) | 2022.07.25 |
[백준 알고리즘] 2468번 안전 영역. 파이썬(python) (0) | 2022.07.20 |
[백준 알고리즘] 11053번 가장 긴 증가하는 부분 수열. 파이썬(python) (0) | 2022.07.19 |