[Algorithm/JavaScript] 최솟값 구하기

김서윤·2021년 12월 8일
0

Algorithm/JavaScript

목록 보기
2/4

이 글은 2021년 8월 21일 티스토리에 작성된 글을 옮겨온 글입니다.

문제

1-5) 최솟값 구하기

입력예제

5 7 1 3 2 9 11

출력예제

1

코드


1-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));
  • forEach 사용
  • Number.MAX_SAFE_INTEGER 사용

작은 수를 구할 때는 min = Number.MAX_SAFE_INTEGER로 초기 값을 크게 설정하고 구함
다른 방법으로는, min=arr[0]으로 설정해도 된다
forEach로 배열을 돌면서 elementmin 값과 비교해서 작으면 min으로 할당



1-2 정답코드

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));
  • for문 사용
  • Number.MAX_SAFE_INTEGER 사용


1-3 정답코드

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));
  • for문 사용


1-4 정답코드

//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 내장함수 사용
주의사항 😎

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], ...) 이런 식으로 전개됨



profile
오늘 못한 일은 내일도 못한다

0개의 댓글

관련 채용 정보