코딩 테스트/Python

두 정수 사이의 합

susinlee 2024. 12. 15. 12:51

[문제]

두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.
예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.

 

이 문제는 이렇게 풀 수 있다. 예를 들어

7, 8, 9, 10, 11, 12, 13 이 있다면

13, 12, 11, 10, 9, 8, 7 처럼 뒤집어서

-------------------------------

20, 20, 20, 20, 20, 20, 20 더해준다.

 

그러면 처음과 마지막을 더한 값이 수 갯수만큼 나오는걸 알 수 있다. 

다 더해서 2로 나누면 7과 13 사이에 속한 모든 정수의 합을 구할 수 있다. O(1)로 풀 수 있는 문제다.

def solution(a, b):
    
    n = abs(a - b) + 1
    
    return (a + b) * n / 2

'코딩 테스트 > Python' 카테고리의 다른 글

부족한 금액 계산하기  (0) 2024.12.15
약수의 개수와 덧셈  (0) 2024.12.15
음양 더하기  (0) 2024.12.15
약수의 합  (0) 2024.12.15
파이썬의 데이터형과 자료구조  (1) 2024.12.15