코딩테스트
Javascipt 연습문제 - 두 정수 사이의 합
코치원
2022. 9. 28. 17:43
문제
두 정수 사이의 합
문제 설명
두 정수 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
문제이해
1. 두 정수 a, b사이에 어떤 숫자가 있는지 알아내야한다.
2. 두 정수 사이의 최솟값과 최대값을 정해서 if문으로 정리해본다.
3. 합을 나타낸다.
문제풀이
function solution(a, b) {
let answer = 0;
if (a <= b){
for (i = a; i <= b; i++){
answer = answer + i;
}
} else {
for (let i = b; i <= a; i++){
answer = answer + i;
}
}
return answer;
}
두 정수 a, b중에 b가 a보다 클 경우를 조건으로 지정하고 for문으로 반복문을 해서 조건을 만들고 아니면 반대되는 for문으로 반복문을 만들어서 해결했다.
다른 문제 풀이
function solution(a, b) {
let answer = 0;
let min = Math.min(a, b);
let max = Math.max(a, b);
for (i = min; i <= max; i++){
answer += i; // answer = answer + i랑 동일
}
return answer;
}
이게 매우 간결하고 처음부터 Math.min과 Math.max를 정하고 for문으로 정리했는데 if문을 안쓰고도 정리할 수 있어서 좋았다.