Algorithm_javascript/4. 1차원 배열

백준 10818번 최소, 최대 (javascript, node.js)

luminouswy 2023. 5. 15. 18:18
반응형

백준 10818번 최소, 최대 (javascript, node.js)

문제

  • N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.

입력

  • 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.

출력

  • 첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.

예제입력 1

5
20 10 35 30 7

예제출력 1

7 35


문제풀이

  • 최소, 최대 값을 구하는 문제라서 Math내장객체 활용
  • 주어진 입력 값이 배열이라서 주의 해야한다.
//10818번
// x 보다 작은 수
//Math.min 또느 Math.max 함수는 배열을 넘기면 NaN이 나옵
//배열이 아니라 고유한 변수를 기대하기 때문에 그럼
// Math.min.apply(Math, 변수);를 사용
// ...변수 를 사용해서 해도됨(전개연산자: 객체 혹은 배열들을 펼칠 수 있게 해줌)

const fs = require("fs");
const file = process.platform === "linux" ? "dev/stdin" : "./text.txt";
const input = fs.readFileSync(file).toString().trim().split("\n");

const n = Number(input[0]);
let arr = input[1].split(" ");

console.log(arr);

// let min =Math.min.apply(Math, arr);
// let max =Math.max.apply(Math, arr);

let min = Math.min(...arr);
let max = Math.max(...arr);

console.log(min, max);