Algorithm/Programmers lv.1
[프로그래머스] 두 정수 사이의 합
채소기
2024. 7. 4. 23:44
https://school.programmers.co.kr/learn/courses/30/lessons/12912
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
세가지 경우의 수를 고려하여 a = b일때는 a를 반환, a < b일때는 반복문 실행, a > b일때는 a와 b를 바꿔치기 후 반복문을 실행하도록 했다.
def solution(a, b):
sum = 0
if a == b:
return a
elif a < b:
for i in range(a, b + 1):
sum += i
return sum
else:
a, b = b, a
for i in range(a, b + 1):
sum += i
return sum
결과는 성공!!이었지만.. 별로 멋진 코드는 아닌 것 같다. 특정 테스트케이스에서는 시간이 많이 걸리기도 했다.
def solution(a, b):
if a > b:
a, b = b, a
return sum(range(a, b + 1))
다른 사람의 풀이를 찾아보니 이렇게 멋진 풀이가 있었다..!
생각해보니 a > b일때만 swapping 하면 되는 문제였다 ㅋ