배열에 n개의 숫자가 담겨있을때, 최솟값을 구하는 방법이다.
1. for문 활용하기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
function test (...rest) {
let arr = rest
let result= arr[0];
for(let i=0; i<arr.length; i++) {
if(result > arr[i]){
result = arr[i];
}
}
console.log(result);
}
test(3,17,8,4,5,9,6,1,2,9); //1
|
cs |
함수의 인자로 받을 값들을 ...rest로 하여 배열로 만든다.
결과로 보여줄 변수에 배열의 첫번째 값을 할당시키고 for문으로 값의 비교를 반복하게 한다.
2. Math.min 활용하기
1
2
3
4
5
6
7
|
function test(...rest) {
let result = Math.min(...rest);
console.log(result);
}
test(3,17,8,4,5,9,6,1,2,9); //1
|
cs |
Math.min 함수는 파라미터로 받은 숫자들 중에서 최소값을 구해서 리턴하는 함수이다.
min 함수에서 ...rest로 인자를 받은 것은 spread 연산자로서
객체나 배열의 원소들을 하나씩 꺼내어 펼쳐서 리턴하게된다.실제로는 Math.min(3,17,8,4,5,9,6,1,2,9) 과 동일한 것이다.
3. MAX_SAFE_INTEGER 활용
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
function test (...rest){
let arr = rest;
let min = Number.MAX_SAFE_INTEGER;
for(let i=0; i<arr.length; i++){
if(min > arr[i]) {
min = arr[i];
}
}
console.log(min);
}
test(3,17,8,4,5,9,6,1,2,9);
|
cs |
1번 예제와 같은 방식이지만 여기서는 MAX_SAFE_INTEGER을 활용했다.
Number.MAX_SAFE_INTEGER은 자바스크립트에서 안전한 최대의 정수값을 나타낸다고한다.
1번 예제에서는 배열의 첫번째 값을 넣어두고 나머지 요소들의 값과 비교하였지만 여기서는 값으로 들어올 수 있는 정수중에서 최대값을 넣어두고, 값을 비교할 수 있도록 하였다.
알고리즘 풀이에서 MAX_SAFE_INTEGER을 사용하는 이유는 정확하게 값을 비교하기 위해서라고 한다.
'공부 > Java script' 카테고리의 다른 글
[java script] 호이스팅 그리고 var,let,const의 차이점 (0) | 2022.04.22 |
---|---|
[mongodb] bad auth : Authentication failed. 에러 (0) | 2022.03.03 |
[JavaScript]배열에서 자주 쓰는 메서드들 (0) | 2021.12.12 |
[JavaScript] 배열의 기본 원리 (0) | 2021.12.11 |
[JavaScript] 화살표 함수 (0) | 2021.12.07 |