알고리즘(백준, 프로그래머스)/[프로그래머스] Lv1

[프로그래머스] Lv1. 두 정수 사이의 합 - 파이썬(Python)

마법사 코딩공주 2023. 4. 28. 13:54
728x90
반응형

문제링크 : 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):
    answer = 0
    temp = 0
    
    if a == b:
        return a

    if (a < b):
        for i in range(a, b+1):
            answer += i
        
    if (b < a):
        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))

# 아래는 테스트로 출력해 보기 위한 코드입니다.
print( adder(3, 5))

▶ 다른 사람 문제풀이(min, max 활용)

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

# 아래는 테스트로 출력해 보기 위한 코드입니다.
print( adder(3, 5))

▶ 다른 사람 문제풀이(시간복잡도개선)

def adder(a, b):
    return (abs(a-b)+1)*(a+b)//2

# 아래는 테스트로 출력해 보기 위한 코드입니다.
print( adder(3, 5))
728x90
반응형