문제
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
출력
첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.
예제 입력/출력 1
// 예제 입력
5
20 10 35 30 7
// 예제 출력
7 35
소스코드
Math.max, Math.min apply를 활용해서 구현하려고 했으나 런타임 에러(Maximum call stack size exceeded)가 발생해서 원인을 찾아본 결과 Math.min의 최대 스택 사이즈는 125,547개까지 가능하기 때문에 해당 문제를 풀기에 부적합한 방법이다.
그렇기 때문에 입력받은 둘째 줄의 N개의 정수를 배열로 변환 후 배열 정렬 메서드를 활용해서 정렬한 후, 처음과 끝 값을 가져와서 처리했다.
const fs = require('fs');
const [len, input] = fs.readFileSync('./dev/stdin').toString().split('\n');
const arr = input.split(' ').map(v => Number(v)).sort((a, b) => a - b);
console.log(`${arr[0]} ${arr[arr.length - 1]}`)
'Computer science > 알고리즘' 카테고리의 다른 글
[백준, node.js] 11726번 "2xn 타일링" 문제 해결방법 (0) | 2022.01.17 |
---|---|
[백준, node.js] 1463번 "1로 만들기" 문제 해결방법 (0) | 2022.01.15 |
[백준: 9093번] 단어 뒤집기 문제 | 자바스크립트(Javascript(JS), Node) (0) | 2021.10.26 |
[백준: 9012번] 괄호 문자열(Parenthesis String, PS) 문제 | 자바스크립트(Javascript(JS), Node) (0) | 2021.10.25 |
자바스크립트로 피보나치 수열 구현 (fibonacci in javascript) (0) | 2020.06.25 |
이 포스팅은 쿠팡파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.