국문과 유목민

10. 두 정수 사이의 합 본문

알고리즘_코딩테스트/프로그래머스_Level1

10. 두 정수 사이의 합

논곰 2020. 9. 9. 17:26

0. 문제

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

 

코딩테스트 연습 - 두 정수 사이의 합

두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우

programmers.co.kr


1. 알고리즘 계획

  1. range의 범위를 정해서 그 안에 있는 값들을 모두 더한다.
  2. a와 b의 값 중 어떤 값이 큰 수인지를 생각해야 한다. 


2. 나의 코드

from functools import reduce
def solution(a, b):
    return reduce(lambda x, y : x + y, range(min(a, b), max(a, b) + 1))

- reduce 함수를 이용한 코드


3. 다른 사람의 코드

def adder(a, b):
    if a > b: a, b = b, a # a가 v보다 클 때 b와 a의 값을 바꿔준다.

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

- sum 함수를 이용해서 쉽게 문제를 풀었다. 


4. 정리 및 리뷰

- 코드 연습을 하면서 배웠던 reduce함수를 이용했다는 점에서 뿌듯하다.

- 기존에 알고있던 함수의 확장된 쓰임에 대해서도 생각할 수 있어야 한다.


코드 만족도: ★★ 


Comments