이 글은 2021년 8월 21일 티스토리에 작성된 글을 옮겨온 글입니다.
1-5) 최솟값 구하기
5 7 1 3 2 9 11
1
function solution(arr) {
let answer, min = Number.MAX_SAFE_INTEGER; //초기 값을 크게 잡음
arr.forEach(element => {
if (element < min) min = element;
});
answer = min;
return answer;
}
let arr = [5, 7, 1, 3, 2, 9, 11];
console.log(solution(arr));
작은 수를 구할 때는 min = Number.MAX_SAFE_INTEGER
로 초기 값을 크게 설정하고 구함
다른 방법으로는, min=arr[0]
으로 설정해도 된다
forEach
로 배열을 돌면서 element
와 min
값과 비교해서 작으면 min
으로 할당
function solution(arr) {
let answer, min = Number.MAX_SAFE_INTEGER;
for (let i = 0; i < arr.length; i++) {
if (arr[i] < min) min = arr[i];
}
answer = min;
return answer;
}
let arr = [5, 7, 1, 3, 2, 9, 11];
console.log(solution(arr));
function solution(arr) {
let answer, min = arr[0];
for (let i = 1; i < arr.length; i++) { //min을 arr[0]으로 지정했으므로 i는 1부터
if (arr[i] < min) min = arr[i];
}
answer = min;
return answer;
}
let arr = [5, 7, 1, 3, 2, 9, 11];
console.log(solution(arr));
//Math.min과 Math.max는 내장함수로 최소, 최댓값 찾아줌
function solution(array){
let answer = Math.min(...array); //전개연산자로 펼쳐줘야함 arr[0], arr[1], ...
//let answer = Math.min.apply(null, arr) 이런식으로도 가능
return answer;
}
let arr=[5, 7, 1, 3, 2, 9, 11];
console.log(solution(arr));
Math.min()
ex) Math.min(2, 5, 6, 8, 10) == 2
Math.min()
은 인자로 전달받아야지 배열 그대로 (Math.min(arr)
) 전달 받을 순 없음
--> 따라서 전개 연산자를 사용
Math.min(...arr)
은 Math.min(arr[0], arr[1], arr[2], ...)
이런 식으로 전개됨