Skip to main content

두 정수 사이의 합

문제 설명

두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.

예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.

제한 조건

  • a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요.
  • a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다.
  • a와 b의 대소관계는 정해져있지 않습니다.

입출력 예

abreturn
3512
333
5312

풀이

첫 번째 풀이
def solution(a, b):
sum = 0
if b < a:
a, b = b, a
for i in range(a, b + 1):
sum += i

return sum

a가 3이고 b가 5라면 3부터 5까지 누적하면 되고,

a가 5이고 b가 3이라면 이 역시도 3부터 5까지 누적하면 됩니다.

a부터 b까지 반복문을 돌면서 sum 변수에 누적하기만 하면 되지만,

b가 a보다 작은 경우를 신경 써줘야 합니다.

a가 작은 경우엔 a부터 b까지 1씩 증가하면 되지만,

b가 a보다 작은 경우엔 b부터 a까지 1씩 증가해야 하기 때문입니다.

  • a = 3, b = 5인 경우엔 a부터 b까지 1씩 증가: 3 -> 4 -> 5
  • a = 5, b = 3인 경우엔 b부터 a까지 1씩 증가: 3 -> 4 -> 5

하지만, a가 b보다 큰 경우에 a와 b의 값을 서로 바꿔주면

a부터 b까지, b부터 a까지를 신경 쓰지 않고 그냥 a부터 b까지로 구현하면 됩니다.