반응형
문제 설명
두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.
예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다.
제한 사항
- a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요.
- a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다.
- a와 b의 대소관계는 정해져있지 않습니다.
입출력 예
a | b | return |
3 | 5 | 12 |
3 | 3 | 3 |
5 | 3 | 12 |
문제 풀이
1. a 가 b 보다 크면 a와 b의 순서를 바꿔준다.
2. for 문을 통해 모든 값을 더해준다.
3. a 와 b가 같으면 a를 리턴해주고 아니면 더한 값을 리턴해준다.
def solution(a, b):
answer = 0
pre = 0
if a> b:
pre = a
a = b
b= pre
for i in range(a,b+1):
answer += i
return a if a==b else answer
다른 사람 문제 풀이
def adder(a, b):
return (abs(a-b)+1)*(a+b)//2
n(n+1)/2 수열로 문제를 푼다.
생각 정리
반복되는 더하기는 수열을 통해 해결할 수 있으니 수식을 잘 생각해보자.
'프로그래머스 > lv1' 카테고리의 다른 글
[12916] 문자열 내 p와 y의 개수 python3 (0) | 2022.08.27 |
---|---|
[12915] 문자열 내 마음대로 정렬하기 python3 (0) | 2022.08.27 |
[12910] 나누어 떨어지는 숫자 배열 python3 (2) | 2022.08.27 |
[17682] [1차] 다트게임 python3 (0) | 2022.08.26 |
[17681] [1차] 비밀지도 python3 (0) | 2022.08.26 |