Python Coding Test

[프로그래머스/파이썬] Lv.1 두 정수 사이의 합

Be Delayed 2024. 4. 19. 23:19

문제 설명

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

 

제한사항

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

입출력 예

a b return
3 5 12
3 3 3
5 12

나의 풀이

def solution(a, b): 
    answer = sum(range(a, b+1, 1)) or sum(range(b, a+1, 1))
    return answer

 

or 뒷 문장을 적지 않았을 때, a가 큰 값이면 에러가 나 or을 추가하여 역수를 취해줬다.

다른 사람의 풀이

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

 

그냥 range( a, b+1) 로 써버리면 a가 큰 경우는 에러가 난다.
따라서 조건문을 통해 큰 값이 앞에 오도록 정의해준다.