양수 A가 N의 진짜 약수가 되려면, N이 A의 배수이고, A가 1과 N이 아니어야 한다. 어떤 수 N의 진짜 약수가 모두 주어질 때, N을 구하는 프로그램을 작성하시오.
첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되지 않는다.
첫째 줄에 N을 출력한다. N은 항상 32비트 부호있는 정수로 표현할 수 있다.
풀이1
const input = require('fs').readFileSync('/dev/stdin').toString().split('\n');
// let input = [6, `3 4 2 12 6 8`];
const count = Number(input[0]);
const arr = input[1].split(' ').sort((a,b)=>a-b);
const firstnum = Number(arr[0]);
const lastnum = Number(arr[count-1]);
let result = 0;
(arr.length >= 2) ? (result = firstnum*lastnum) : (result = firstnum*firstnum);
console.log(result);
풀이2
const input = require('fs').readFileSync('dev/stdin').toString().split('\n');
// let input = [6, `3 4 2 12 6 8`];
const numbers = input[1].split(' ').sort((a,b)=>a-b)
const maxnum = Math.max(...numbers)
const minnum = Math.min(...numbers)
let result = 0
(numbers.length>=2) ? (result = maxnum*minnum) : (result = minnum*minnum);
console.log(result)
오름차순으로 정렬하여 가장 큰 수와 작은 수를 구해서 풀었다