프로그래밍/python

파이썬(python) 프로그래머스 두 정수 사이의 합 구하기

싯타마 2020. 10. 24. 03:50

문제

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

 

내가 한 풀이

def solution(a, b):
    answer = 0
    if b > a: # b가 보다 큰 경우
        for i in range(a, b+1): # 반복문 범위를 a부터 b까지로 설정
            answer = answer + i # answer을  a~b까지 중첩해서 더해주기
            return answer
    elif a > b: # a가 b보다 큰 경우
        for i in range(b, a+1): # 반복문 범위를 b~a까지로 설정
            answer = answer + i # answer을 b~a까지 중첩해서 더해주기
            return answer
    elif a == b: # a와 b가 같은 경우
        answer == a or b # answer에 a나 b로 선언
        return answer # answer값 return

 

다른 풀이

def adder(a, b): 
    if a > b: a, b = b, a #a와 b에 대한 대소 조건을 ,(or)을 사용해 한꺼번에 지정
    return sum(range(a,b+1)) #sum 함수를 통해 a~b까지의 범위 값 더하기

 

배운점

if조건을 콤마(or)를 사용해서 1줄로 표현하기

sum함수를 이용해서 범위 값 모두 더하기