[코딩 테스트 연습 입문] 두 정수 사이의 합
2022. 12. 22. 11:19ㆍcode/[프로그래머스] python
문제
두 정수 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의 대소관계는 정해져있지 않습니다.
입출력 예
✔풀이
def solution(a, b):
answer = 0
if a==b:
answer = a
else:
for num in range(min(a,b),(max(a,b))+1,1):
answer += num
return answer
📝설명
우선 제한 사항에 두 수가 같다면 아무 값이나 리턴하라는 조건을 보고 냅다 if문을 넣었다.
그러고 나서 else로 min과 max로 작은 수와 큰 수를 구분했다.
이 때, range(start,finish,step)에서의 finish 부분은 해당 수 미만으로, finish의 숫자를 포함하지 않는데,
우리는 finish 숫자까지 포함해야 하니까!! 1을 더해주었다.
for문으로 차례대로 나오는 num을 answer에 더해주면 끝!
➕개선한다면?
👑모범 답안
🔎 내가 max와 min을 사용했던 부분을 if문을 이용해서 a가 b보다 크다면, a를 b로, b를 a로 재정의한다.
range를 이용하여 범위를 지정하고, sum으로 결과를 도출해냈다.
👀느낀 점
: range를 무조건 for문과 해야 한다는 생각을 가졌던 것 같다. 우물 안 개구리였군..
for문과 함께 하지 않더라도 range를 사용할 수 있다는 걸 잊지말아야지
'code > [프로그래머스] python' 카테고리의 다른 글
[코딩 테스트 연습 입문] 중앙값 구하기 (0) | 2022.12.22 |
---|---|
[코딩 테스트 연습 입문] 나머지 구하기 (0) | 2022.12.22 |
[코딩 테스트 연습 입문] 문자 반복 출력하기 (0) | 2022.12.22 |
[코딩 테스트 연습 입문] 피자 나눠 먹기 (3) (0) | 2022.12.22 |
[코딩 테스트 연습 입문] 피자 나눠 먹기 (1) (0) | 2022.12.22 |