굉장히 쉬운 문제라고 생각했다. 숫자 두개 사이에 있는 모든 숫자를 더하는 것이다:
def solution(a, b):
return sum([x for x in range(min(a,b), max(a,b)+1)])
하지만 a, b 중 어떤 숫자가 더 작을 지 모르므로, range에서 두 숫자 중 작은 것을 min()과 max()를 사용해서 풀었다. (나름 첫 숏코딩 했다ㅎㅎ)
그런데 이렇게 해보니 정답은 맞았지만 다음과 같이 나왔다:
테스트 4번부터 10번까지 걸리는 시간이 생각보다 엄청 길었다;; 그럼에도 불구하고 통과는 됐으니 다행이다
※ 다른 사람의 풀이
def solution(a, b):
if a > b: a, b = b, a
return sum(range(a,b+1))
프로그래머스에서 가장 많은 좋아요를 받은 문제이다. 만약 a, b 중 a보다 b가 더 크면, a,b를 b, a로 바꾼다는 내용이다. 즉, 기존의 a 는 b 가 되고 , 기존의 b 는 a가 된다는 소리이다.
'알고리즘 테스트 > 프로그래머스 문제풀이 및 해설' 카테고리의 다른 글
<프로그래머스 문제풀이: 문자열 내 p와 y의 개수> Level 1 - 파이썬 (0) | 2020.11.07 |
---|---|
<프로그래머스 문제풀이: 문자열 내 마음대로 정렬하기> Level 1 - 파이썬 (0) | 2020.11.06 |
<프로그래머스 문제풀이: 나누어 떨어지는 숫자 배열> (0) | 2020.11.01 |
<프로그래머스 문제풀이: 같은 숫자는 싫어> Level 1 - 파이썬 (0) | 2020.10.27 |
<프로그래머스 문제풀이: 가운데 글자 가져오기> Level 1 - 파이썬 (0) | 2020.10.25 |