시작하며...
알고리즘 문제를 직접 풀어보고 풀이를 정리하고 더 나은 풀이를 찾아보기 위한 내용을 정리합니다.
몇 문제를 풀고 다른 사람들의 풀이를 보다보니 개발 시작을 Java로 시작해서 그런지 아직 List Comprehension을 이용하는 부분이 많이 약하다고 느껴졌습니다. 그런 부분들도 추가적으로 정리해보도록 하겠습니다.
[Level 1] 두 정수 사이의 합 구하기
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명
두 정수 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 |
My Solution
def solution(a, b):
answer = ''
if b >= a:
for i in range(a, b+1):
answer += i
else:
for i in range(b, a+1):
answer += i
return answer
range를 활용해서 a부터 b까지 반복문을 돌려서 그 값을 정답에 더해주는 방법으로 문제를 풀이하였습니다.
그때, b가 a보다 더 큰 경우 Error가 발생해서 그런 경우의 조건을 추가해주었습니다.
More Solution
def solution(a, b):
answer = sum(range(min(a,b),max(a,b)+1))
return answer
풀이 방법은 같지만 List Comprehension을 활용해서 한줄로 정리한 누군가의 풀이입니다.
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
'Algorithm > Programmers' 카테고리의 다른 글
[Algorithm] 프로그래머스 - 같은 숫자는 싫어 (0) | 2022.12.19 |
---|---|
[Algorithm] 프로그래머스 - 문자열 내 p와 y의 개수 (0) | 2022.12.19 |
[Algorithm] 프로그래머스 - 약수의 합 (0) | 2022.12.19 |
[Algorithm] 프로그래머스 - 서울에서 김서방 찾기 (0) | 2022.12.19 |
[Algorithm] 프로그래머스 - 수박수박수박수박수박수? (0) | 2022.12.16 |
댓글