문제 설명


두 정수 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의 대소관계는 정해져있지 않습니다.

 

입출력 예

 

a b return
3 5 12
3 3 3
5 3 12

 

나의 풀이

 

def solution(a, b):
    m = min(a, b)
    ab = abs(a-b)
    return sum(range(m, m+ab+1))

1. a와 b 중에 더 작은 것을 구하고 a-b의 절대값을 구합니다.
2. 더 작은 수와 더 작은수 + 절대값의 합을 구해 리턴합니다.

 

다른 사람의 풀이

 

def solution(a, b):
    if a > b:
        a, b = b, a
    return sum(range(a,b+1))

a와 b 중에 a가 더 크면 a와 b를 바꾸고 합을 구해 리턴합니다.
b가 더 크면 a와 b 그대로 합을 구해 리턴합니다.

 


프로그래머스 '두 정수 사이의 합' : programmers.co.kr/learn/courses/30/lessons/12912

 

코딩테스트 연습 - 두 정수 사이의 합

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

programmers.co.kr

 

+ Recent posts