[프로그래머스] - 두 정수 사이의 합

SeomIII·2021년 7월 6일
0

programmers_LEVEL1

목록 보기
5/34
post-thumbnail

문제 설명

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

문제 보기

생각 과정
1. for 문 range로 해서 돌리면서 더해나가면 되겠네~

a,b의 대소관계는 정해져있지 않다!
--> if 문 사용해서 a,b 대소관계 정해지면 range 바꿔야겠네!

문제 풀이

def solution(a, b):
    answer = 0
    if a<=b:
        for i in range(a,b+1):
            answer+=i
            
    else:
        for i in range(b,a+1):
            answer+=i

    return answer

다른 사람 풀이

def adder(a, b):
    if a > b: a, b = b, a

    return sum(range(a,b+1))

sum()
: list,tuple,dictionary 의 합을 리턴하는 함수

list=[10,22,19,2,9,3]
sum_list=sum(list)

개선점

  • sum 함수를 쓰면 더욱 효율적이겠다.
  • b가 a보다 크다는 가정을 한 후, b가 a 보다 클 경우에만 a,b를 서로 바꿔주는게 더 간단하겠다.
profile
FE Programmer

0개의 댓글