두 정수 사이의 합

seonghyeon·2022년 4월 9일
0

나의 풀이

수가 커졌을때 효율이 너무 좋지않아 다른방법을 고민해봄

def solution(a, b):

    if a > b :
        answer = sum(range(b, a+1))
    else:
        answer = sum(range(a, b+1))


    return answer

사용된 공식

n~m까지의 합 : (n부터 m까지의 갯수) * (n+m) / 2

ex) 5부터7까지의합 : 3*(5+7)/2=18

def solution(a,b):

	return (abs(a-b)+1) * (a+b) // 2

a부터 b까지의 수 개수를 abs(a-b)+1 로서 구하고 //2 를 하여 나눈수의 정수부분만 구해옴

abs() <- 수의 절대값을 구해준다

  • 수학적인 부분을 이용하여 알고리즘 해결을 하는 걸 많이 생각하자

0개의 댓글