[문제]
두 정수 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 |