접근 방법
- range를 이용하여 두 정수 사이의 값들을 리스트로 생성
- sum 함수를 통해 정답 도출
#include <string>
#include <vector>
using namespace std;
long long solution(int a, int b) {
long long answer = 0;
if(a > b){
for(int i = b; i <= a; i++){
answer += i;
}
}
else if(a < b){
for(int i = a; i <= b; i++){
answer += i;
}
}
else answer = a;
return answer;
}
def solution(a, b):
if a < b:
answer = sum(list(range(a, b+1)))
else:
answer = sum(list(range(b, a+1)))
return answer
반복문 없이 코드를 작성하여 C++로 풀었을 때 보다 많이 간단해졌다.
def solution(a, b):
if a > b:
a, b = b, a
answer = sum(range(a, b+1))
return answer
입출력 예시에서 a와 b의 대소관계가 바뀌어 있을 때 틀리는 경우가 생겨 a와 b를 한 번에 바꾸고 싶었는데, 방법을 몰라 나의 처음 풀이처럼 풀었다.
파이썬에서는 임시 변수를 생성하지 않고 두 변수의 값을 바꿀 수 있다는 사실은 알았지만 아직 사용에 익숙하지 않아서 필요할 때 바로바로 나오지 않는 것 같다.