N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
5
20 10 35 30 7
첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.
7 35
//https://www.acmicpc.net/problem/10818
const input = require("fs")
.readFileSync("/dev/stdin")
.toString()
.trim()
.split("\n");
const arr = input[1].split(" ").map((value) => +value);
arr.sort(function sort1(a, b) {
return a - b;
});
console.log(arr[0], arr.pop());
시간 992ms
하마터면 시간초과가 뜰 뻔 했다.
내맘대로 풀어보기
input[1]을 숫자로 된 리스트로 만들고
arr.sort()
를 써서 오름차순으로 정렬했다.
그리고 0번째 인덱스로 최소 값을 pop()을 써서 최대 값을 뽑았다.
a=(''+require('fs').readFileSync('dev/stdin')).split`
`[1].split` `.map(v=>+v)
console.log(Math.min(...a),Math.max(...a))
Math.min
과 Math.max
를 쓸수도 있구나