최솟값과 최댓값

MINBOK·2022년 3월 24일
0
post-thumbnail
let a = [10, 20, 30, 1, 2, 3, 5, 9, 11];

// 배열 정렬
a.sort();

// 최솟값 구하기
console.log(a[0]); // 1

// 최댓값 구하기
console.log(a[a.length-1]); // 9

JS는 사전식 정렬 (ex. 1, 10, 11, 2...)되므로
이 방법으로 올바른 최댓값을 구할 수 없음

Math 이용하기

console.log(Math.max(10, 20 ,30)); // 30
console.log(Math.min(10, 20, 30)); // 10

Math.max( )와 Math.min( )에는 array를 넣을 수 없음

해결방법

// 배열에서 가장 큰 값 출력하기
console.log(Math.max.apply(null, a));

// 배열에서 가장 작은 값 출력하기
console.log(Math.min.apply(null, a));

알고리즘으로 해결하기

let k =  a[0];

최댓값 구하기

for (let variable of a) {
    if(variable > k) {
        k = variable;
    }
}

console.log(`알고리즘 최댓값 : ${k}`); // 알고리즘 최댓값 : 30

최솟값 구하기

for (let variable of a) {
    if(variable < k) {
        k = variable;
    }
}

console.log(`알고리즘 최솟값 : ${k}`); // 알고리즘 최솟값 : 1

JavaScript

Array.prototype.sort()

배열을 정렬한 후 반환하는 메서드,
복사본이 만들어지지 않으며 원정렬이 배열됨

참고
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#%EB%AA%85%EC%84%B8

Function.prototype.apply()

사용예제

- 배열의 최댓값과 최솟값을 구할 때

let a = [10, 20, 30, 1, 2, 3, 5, 9, 11];

// 최댓값
console.log(Math.max.apply(null, a));

// 최솟값
console.log(Math.min.apply(null, a));

- 배열에 배열을 붙일 때

var array = ['a', 'b'];
var elements = [0, 1, 2];

array.push.apply(array, elements);

console.info(array); // ["a", "b", 0, 1, 2]

참고
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Function/apply

0개의 댓글

관련 채용 정보