문제
두 정수 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의 대소관계는 정해져있지 않습니다.
나의 풀이
function solution(a, b) {
// 작은 수(small)와 큰 수(big) 구분 후, 변수 생성
let small = Math.min(a,b);
let big = Math.max(a,b);
// sum = 0
let sum = 0;
for(let i = small; i <= big; i++) {
// small <= big 까지 sum += small 반복
sum += i;
}
// 결과값 반환
return sum;
}
해답
function adder(a, b, s = 0){
for (var i = Math.min(a, b); i <= Math.max(a, b); i++) s += i;
return s;
}
다른 풀이를 보다보면 이렇게도 코드를 줄일 수 있구나 싶어서 감탄하게 된다.
물론 정확도와 속도도 중요하지만, 코드를 간결하게 쓰는 것도 신경써야겠다.
참고
'Coding test' 카테고리의 다른 글
[프로그래머스] 문자열 내림차순으로 배치하기 (Level 1) (0) | 2022.04.06 |
---|---|
[프로그래머스] 문자열 내 p와 y의 개수 (Level 1) (0) | 2022.04.05 |
[프로그래머스] 나누어 떨어지는 숫자 배열 (Level 1) (0) | 2022.04.02 |
[프로그래머스] 같은 숫자는 싫어 (Level 1) (0) | 2022.04.02 |
[프로그래머스] 완주하지 못한 선수 (Level 1) (0) | 2022.03.23 |