Python

[Python/프로그래머스] 12912_두 정수 사이의 합 - return if ~ or ~ , ~ if ~ else ~

SDeveloper 2020. 3. 28. 14:16
반응형

 

[문제]

문제 설명

두 정수 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

 

[1차 풀이]

- 풀긴 풀었는데 다른 코드를 보니 좋은 방법이 너무 많다.풀어보자~!

def solution(a, b):
    answer = 0
    if a==b:
        return a
    elif a<b:
        answer = sum(range(a,b+1))
    else:
        answer = sum(list(range(-a,-b+1))) * -1
    return answer

 

 

[2차 풀이]

- 두 수의 차를 구할 땐 min, max를 이용하여 큰 값을 구하자

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

 

 

[3차 풀이]

- 두 수의 차를 구할 땐 min, max를 이용하여 큰 값을 구하자

def solution(a, b):
    return a if a==b else sum(range(min(a,b), max(a,b)+1))

 

 

[4차 풀이]

- 두 수의 차를 구할 땐 min, max를 이용하여 큰 값을 구하자

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

 

 

[링크]

https://programmers.co.kr/learn/courses/30/lessons/12912

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

반응형