/
lv1_04.js
47 lines (39 loc) · 1.8 KB
/
lv1_04.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// # 두 정수 사이의 합
// # 문제 설명
// - 두 정수 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) {
var answer = 0;
if (a >= b) { //만약 a가 b보다 작은 수라면
for (let i = b; i <= a; i++) { // a값만큼 b를 반복
answer += i; // i 사이의 값을 더한다. 복합 할당 연산자
}
} else { // a가 b보다 작을 때 (대소관계가 정해져 있기때문에 걸어둔 if문)
for (let j = a; j <= b; j++) {
answer += j;
}
}
return answer;
}
//다른 문제풀이
function solution2(a, b) {
var answer = 0;
var min = Math.min(a, b); // 인수 중 가장 작은 수 반환
var max = Math.max(a, b); // 인수 중 가장 큰 수 반환
for(var i=min; i <= max; i++){ // 작은 값으로 시작해서 큰 값만큼 반복
answer+=i; // 복합 할당 연산자 +=
}
return answer;
}
// 할당 연산자는 오른쪽 피연산자의 값을 왼쪽 피연산자에 할당합니다.
// 기본적인 할당 연산자는 오른쪽의 피연산자 값을 왼쪽 피연산자 값에 할당하는 등호(=)로, x = y 는 y의 값을 x에 할당합니다.
// 복합 할당 연산자를 풀어쓰면 다음과 같다.
// 'A += B' 는 'A = A + B' 이다.
// 'A -= B' 는 'A = A - B' 이다.
// 'A *= B' 는 'A = A * B' 이다.
// 'A /= B' 는 'A = A / B' 이다.
// 'A %= B' 는 'A = A % B' 이다.