문제 ) 프로그래머스 - 두 정수 사이의 합(lv.1)
📌 문제 설명
두 정수 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 |
✏️ 처음 생각한 방법 : for i in range(a, b + 1)의 i 값을 sum()을 사용하여 전체 더해주기
✏️ b값이 a값 보다 작은 경우가 문제 ==> if 조건문 사용
def solution(a, b):
answer = 0
if a > b:
answer = sum(i for i in range(b, a + 1))
else:
answer = sum(i for i in range(a, b + 1))
return answer
✏️ range(a, b) 이미 이터러블한 값이므로 for문으로 돌리지 않고 sum()에 바로 넣는 게 가능하다!
def solution(a, b):
answer = 0
if a > b:
answer = sum(range(b, a + 1))
else:
answer = sum(range(a, b + 1))
return answer
✏️ if 조건문 : a가 b 보다 클 경우 ==> a, b = b, a
def solution(a, b):
if a > b:
a, b = b, a
return sum(range(a, b + 1))
✏️ 다르게 생각해 보기 : 처음부터 a, b의 값 중 크고 작은 값을 구분해서 range()에 넣기
✏️ min(a, b) / max(a, b)
def solution(a, b):
return sum(range(min(a, b), max(a, b) + 1))
'알고리즘 > Python 기초' 카테고리의 다른 글
파이썬 - 서울에서 김서방 찾기(lv.1) (0) | 2023.05.21 |
---|---|
파이썬 - 콜라츠 추측(lv.1) (0) | 2023.05.21 |
파이썬 - 하샤드 수(lv.1) (0) | 2023.05.21 |
파이썬 - 정수 내림차순으로 배치하기(lv.1) (0) | 2023.05.21 |
파이썬 - 문자열을 정수로 바꾸기(lv.1) (0) | 2023.05.21 |