티스토리 뷰

알고리즘/코딩테스트 공부

1-5 최솟값 구하기

YG - 96년생 , 강아지 있음, 개발자 희망 2021. 11. 23. 21:00

문제

7개의 수가 주어지면 그 숫자 중 가장 작은 수를 출력하는 프로그램을 작성하세요.

풀이

function solution(arr) {
  let answer;
  let min = Number.MAX_SAFE_INTEGER;
  //console.log(min);
  for (let i = 0; i < arr.length; i++) {
    if (min > arr[i]) {
      min = arr[i];
    }
  }
  answer = min;
  return answer;
}

let arr = [5, 7, 1, 3, 2, 9, 11];
console.log(solution(arr));

Number.MAX_SAFE_INTEGER 을 하면 엄청 큰 수가 지정이 되는 것을 배웠고

 

문제는 for 문을 통해 비교하여 풀었습니다.

 

다른 풀이

function solution(arr) {
  let answer;
  let min = Number.MAX_SAFE_INTEGER;
  //console.log(min);
  answer = Math.min(...arr);
  console.log(Math.max(...arr));
  return answer;
}

let arr = [5, 7, 1, 3, 2, 9, 11];
console.log(solution(arr));

자바스크립트에는 기본적으로 제공되는 최소,최대를 구하는 함수가 저장되어 있습니다.

 

주의할 점은 Math.min(arr) 을 하게 된다면 NaN 이 나오므로 전개 구문을 이용해서 배열안의 숫자들을 넣어야 합니다.

 

또다른 방법으로는 apply() 대체로 풀 수 있습니다. Math.min.apply(null,arr) 을 사용할 수 있습니다.

 

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Spread_syntax

 

전개 구문 - JavaScript | MDN

전개 구문을 사용하면 배열이나 문자열과 같이 반복 가능한 문자를 0개 이상의 인수 (함수로 호출할 경우) 또는 요소 (배열 리터럴의 경우)로 확장하여, 0개 이상의 키-값의 쌍으로 객체로 확장시

developer.mozilla.org

 

 

'알고리즘 > 코딩테스트 공부' 카테고리의 다른 글

1-7 10부제  (0) 2021.11.24
1-6 홀수  (0) 2021.11.23
1-4 1부터 N까지 합 출력하기  (0) 2021.11.23
1-3 연필 개수  (0) 2021.11.23
1-2 삼각형 판별하기  (0) 2021.11.23
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
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
글 보관함