파이썬 코드카타

두 정수 사이의 합 # min(),max()

여연찌 2024. 3. 31. 21:02

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

 

프로그래머스

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

programmers.co.kr

 

  • 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.
    예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.
def solution(a,b):
    if a<b:
        return sum(list(range(a,b+1)))
    else:
        return sum(list(range(b,a+1)))

①     if a<b:
        return sum(list(range(a,b+1)))

# a<b 일때 a부터 b까지를 리스트로 만든 후 더한 값

 

②     else:
        return sum(list(range(b,a+1)))

# 그 외에는 b부터 a까지를 리스트로 만든 후 더한 값

 

 

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

 

① return sum(range(min(a, b), max(a, b) + 1))

# (a, b 중 작은 값) 부터 (a,b 중 큰값)까지의 합

 

이렇게 한줄로도 사용 가능.. 

대단하다

 

 

 


 

 

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

이렇게 a 부터 b 까지의 합을 모두 더해주는 것 까지는 만들었는데

b가 a 보다 클때는 안됐음 ,, 

 

그래서 if 함수를 사용해봤는데

 

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

그 반대일때에서 멈춤...

a = 5

b = 3

일때 5,4,3 을 더해줘야 하는데 반대로 하는 방법을 못찾고 답 코드를 찾아봄 ㅠㅜ

그래도 if 문을 써야하기까지 발전했다는 것에 의의를 둔다 .. 

 

다음에는 스스로 풀 수 있길!