핵심아이디어
머리식힐겸 풀어볼만한 아주 간단한 문제이다.
하지만 Javascript(nodejs)로 풀때 Math.max(...array) 를 사용한 후에 제출하면 분명 런타임에러가 뜰것이다..
이 문제의 함정은 N이 1,000,000까지 있으며, Math.max를 사용하면 오버플로우가 난다는 것이다.
결국엔 배열에서 max,min 을 리턴하는 함수를 따로 만들면 쉽게 해결 할 수 있다.
'use strict';
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
const findMax = (array) => array.reduce((a, b) => Math.max(a, b));
const findMin = (array) => array.reduce((a, b) => Math.min(a, b));
const solution = function (input) {
const n = parseInt(input.shift());
const nums = input
.shift()
.split(' ')
.map((e) => parseInt(e));
console.log(findMin(nums), findMax(nums));
};
const input = [];
rl.on('line', function (line) {
input.push(line);
}).on('close', function () {
solution(input);
process.exit();
});
'개발 > 알고리즘' 카테고리의 다른 글
[Javascript][BOJ] 1956 운동 (플로이드 와샬, 사이클) (0) | 2020.12.30 |
---|---|
[Javascript][BOJ] 11403 경로 찾기 (플로이드 와샬) (0) | 2020.12.29 |
[Javascript][BOJ] 1719 택배 (다익스트라 경로) (0) | 2020.12.20 |
[Javascript][BOJ] 14938 서강그라운드 (0) | 2020.12.20 |
[Javascript][BOJ] 2665 미로만들기 (0) | 2020.12.20 |