https://programmers.co.kr/learn/courses/30/lessons/12912
function solution(a, b) {
let answer = 0;
for (let i = Math.min(a, b); i <= Math.max(a, b); i++) {
answer += i;
}
return answer;
}
let a = 3;
let b = 5;
console.log(solution(a, b));
문제에서 a와 b의 대소관계는 정해져 있지 않고, a=b가 같으면 둘 중 하나를 리턴하라고한다.
그래서 아래처럼 나눠서 처음 답을 구했다.
if(a==b) return a;
else if(a<b) {...}
else{...}
이제 코드를 줄일 것이다.
반복되는 부분은 else if 와 else
두개 다 a와 b중 낮은 수부터 큰 수까지 반복한다.
for (let i = Math.min(a, b); i <= Math.max(a, b); i++) {
answer += i;
}
위 코드처럼 Math.min과 max를 이용해 줄일 수 있다.
줄이고 생각해보니 둘중 작은값과 큰값까지니까 같은경우에도 알아서 한번만 더할 것이다. 그래서 if문도 지우고 제출코드처럼 작성하였다.