Covenant

문제

adder함수는 정수 a, b를 매개변수로 입력받습니다.

두 수와 두 수 사이에 있는 모든 정수를 더해서 리턴하도록 함수를 완성하세요. a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요.

예를들어 a가 3, b가 5이면 12를 리턴하면 됩니다.


a, b는 음수나 0, 양수일 수 있으며 둘의 대소 관계도 정해져 있지 않습니다.


나의 풀이

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
def adder(small, big):
    increase = 1
    result = 0
    
    if small > big:
        small, big = big, small
    
    count = small
    increase = small
    while big >= count:
        result = result + increase
        increase = increase + 1
        count = count + 1
    
    return result
 
# 아래는 테스트로 출력해 보기 위한 코드입니다.
print( adder(35))
cs

[5번 라인] input되는 두 수 중에서 small에는 small의 값이, big에는 input값 중 큰 수가 오게 만들었다.

[10번 라인] while문에서 반복문 돌리면서 그냥 두 수 사이의 합을 구했다. 


다른 사람의 풀이

1
2
3
4
5
6
7
8
def adder(a, b):
    # 함수를 완성하세요
    if a > b: a, b = b, a
 
    return sum(range(a,b+1))
 
# 아래는 테스트로 출력해 보기 위한 코드입니다.
print( adder(35))
cs

range를 하면 두 수 사이의 리스트가 반환된다. 이를 sum 메소드를 사용하면 그 리스트 안에 있는 값의 합이 나온다.