Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 프리온보딩
- RDS
- EC2
- spring boot
- Django
- 함수
- 컴프리헨션
- 조건연산
- Jar배포
- self
- API
- sqlalchemy
- PYTHON
- 토이프로젝트
- cerbot
- 파이썬
- Comprehension
- 코딩테스트
- 프로그래머스
- yaml
- 행렬곱
- numpy
- 파이써닉코드
- 람다함수
- 집계함수
- 클래스
- mock server
- Postman
- todo project
- 백엔드 인턴십
Archives
- Today
- Total
build my life
[프로그래머스] 두 정수 사이의 합 본문
728x90
문제 설명
두 정수 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의 대소관계는 정해져있지 않습니다.
나의 풀이)
제어문을 사용해서 문제를 해결하였다. (for, if문 이용)
만약, a와 b의 값이 같으면 a를 반환
a가 b보다 작을 경우에는 a부터 b까지 합한 결과를 반환
a가 b보다 클 경우에는 역순으로 b부터 a까지 합한 결과를 반환
def solution(a, b):
answer = 0
if a == b:
answer = a
elif a < b:
for num in range(a, b+1):
answer += num
else:
for num in range(a,b-1,-1):
answer += num
return answer
다른 사람 풀이 참고)
모든 경우에 조건을 주지 않고 a가 b보다 클 경우에 a와 b값을 바꿔준 후 range함수와 sum함수를 써서 결과를 반환한다.
def solution(a, b):
if a > b: a, b = b, a
return sum(range(a,b+1))
완전 간단하게 풀 수 있는 문제였다...ㅎ..
역시 응용력에서는 아직 많이 부족한 것 같다.
그래도 이렇게 다른 사람 풀이를 보며 계속해서 공부해 나가면 나도 언젠간 더욱더 보기 편하고 쉬운 코드를 작성할 수 있을 것이다..!
링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12912
728x90
'Algorithm > 문제' 카테고리의 다른 글
[프로그래머스] 같은 숫자는 싫어 (0) | 2022.08.23 |
---|---|
[프로그래머스] 최대공약수와 최소공배수 (1) | 2022.08.23 |
[프로그래머스] 문자열 내 p와 y의 개수 (0) | 2022.08.05 |
[프로그래머스] 서울에서 김서방 찾기 (0) | 2022.08.05 |
[프로그래머스] 수박수박수박수박수박수? (0) | 2022.08.05 |