build my life

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

Algorithm/문제

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

dalovee 2022. 8. 4. 16:03
728x90

문제 설명

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

나의 풀이)

제어문을 사용해서 문제를 해결하였다. (for, if문 이용)

만약, a와 b의 값이 같으면 a를 반환

a가 b보다 작을 경우에는 a부터 b까지 합한 결과를 반환

a가 b보다 클 경우에는 역순으로 b부터 a까지 합한 결과를 반환

def solution(a, b):
    answer = 0
    
    if a == b:
        answer = a
    elif a < b:
        for num in range(a, b+1):
            answer += num
    else:
        for num in range(a,b-1,-1):
            answer += num
    
    return answer

 

다른 사람 풀이 참고)

모든 경우에 조건을 주지 않고 a가 b보다 클 경우에 a와 b값을 바꿔준 후 range함수와 sum함수를 써서 결과를 반환한다.

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

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

 

완전 간단하게 풀 수 있는 문제였다...ㅎ..

역시 응용력에서는 아직 많이 부족한 것 같다.

그래도 이렇게 다른 사람 풀이를 보며 계속해서 공부해 나가면 나도 언젠간 더욱더 보기 편하고 쉬운 코드를 작성할 수 있을 것이다..!


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

728x90