본문 바로가기
Coding Test/JavaScript

[Javascript] (백준 20053) 최소, 최대2

by Chaedie 2022. 6. 25.
728x90

[Javascript] (백준 20053) 최소, 최대2

💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다.

내 풀이

//* 인풋 (디폴트)
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
const input = require('fs').readFileSync(filePath).toString().split('\n');

//* 인풋 (커스텀)
const n = +input[0];

//* 함수 콜 (고정)
for (let i = 1; i <= n; i++) {
  const N = input[2 * i - 1];
  const nums = input[2 * i].split(' ').map((num) => +num);
  const answer = solution(N, nums);
  console.log(answer.trim());
}

//* 로직함수
function solution(N, nums) {
  return `${Math.min(...nums)} ${Math.max(...nums)}`;
}

배운 점, 느낀 점

Math.min(1,2,3,4,5,) 하면 1이 나온다.

하지만 array = [1,2,3,4,5] 일 때 Math.min(array); 하면 NaN이 뜬다.

이 때 우리는 ES6+ 문법 “Destructuring”을 사용해서 배열의 괄호를 벗겨주면 된다.

Math.min(…array) 는 Math.min(1,2,3,4,5) 와 동일한 결과를 만들어 준다.

댓글