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. 알고리즘 계획
- range의 범위를 정해서 그 안에 있는 값들을 모두 더한다.
- 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함수를 이용했다는 점에서 뿌듯하다.
- 기존에 알고있던 함수의 확장된 쓰임에 대해서도 생각할 수 있어야 한다.
코드 만족도: ★★★★★
'알고리즘_코딩테스트 > 프로그래머스_Level1' 카테고리의 다른 글
| 12. 문자열 내 p와 y의 개수 (0) | 2020.09.10 |
|---|---|
| 11. 문자열 내 마음대로 정렬하기 (0) | 2020.09.10 |
| 9. 나누어 떨어지는 숫자 배열 (0) | 2020.09.09 |
| 8. 같은 숫자는 싫어 (0) | 2020.09.09 |
| 7. 가운데 글자 가져오기 (0) | 2020.09.09 |