[프로그래머스] 두 정수 사이의 합

2024. 6. 26. 20:55개인활동/코테

반응형

def solution(a, b):
    if a <= b:
        return sum(range(a, b+1))
    else:
        return sum(range(a, b-1, -1))

 

여기서 a와 b의 대소관계는 모른다고 했기에, 경우를 나누어서 풀어주어야 했다.

이 과정에서 a가 더 작고 b가 더 큰 경우 b-1을 해야한다는점!!

중요한 포인트였는데, 놓쳤었다.

def adder(a, b):
    return (abs(a-b)+1)*(a+b)//2

 

그리고 다른 사람들의 코드를 보던 중, 정말 수학적으로 쉽게 풀었던 분이 있었다.

 

바로 가우스 덧셈 공식을 활용한 것

 

시간복잡도를 생각했을 때 이 방법이 더 효율적이라고 하니, 기억해두자!

 

https://workshop-code.tistory.com/51

 

[알고리즘] 가우스의 덧셈 공식

목표 가우스 덧셈에 대해 알아보자 가우스 덧셈을 이용한 문제 풀이 가우스 덧셈 등장 배경 천재적인 수학자 독일의 가우스는 어려서부터 수학에 재능을 보였다. 가우스가 초등학교 3학년 때 수

workshop-code.tistory.com

 

반응형