문제
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
출력
첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.
예제 입력 | 예제 출력 |
5 20 10 35 30 7 |
7 35 |
⭕ 풀이
let input = require('fs').readFileSync('/dev/stdin').toString().split('\n');
let count = Number(input[0]);
let numbers = input[1].split(' ').map(x=> Number(x));
let max = numbers[0];
let min = numbers[0];
for (let i = 1; i < count; i++) {
if (max < numbers[i]) {
max = numbers[i];
}
if (min > numbers[i]) {
min = numbers[i];
}
}
console.log(`${min} ${max}`);
/////////////////////////////////
let input = require('fs').readFileSync('/dev/stdin').toString().split('\n');
let count = Number(input[0]);
let numbers = input[1].split(' ').map(x=> Number(x));
numbers.sort((a, b) => a - b);
console.log(`${numbers[0]} ${numbers[count - 1]}`);
✅ sort
sortFunction 인수에 함수를 지정하면 아래의 값 중 하나가 반환된다
첫 번째 인수가 두 번째 인수보다 작을 경우 - 값
두 인수가 같을 경우 0
첫 번째 인수가 두 번째 인수보다 클 경우 + 값
var score = [4, 11, 2, 10, 3, 1];
/* 오류 */
score.sort(); // 1, 10, 11, 2, 3, 4
// ASCII 문자 순서로 정렬되어 숫자의 크기대로 나오지 않음
/* 정상 동작 */
score.sort(function(a, b) { // 오름차순
return a - b;
// 1, 2, 3, 4, 10, 11
});
score.sort(function(a, b) { // 내림차순
return b - a;
// 11, 10, 4, 3, 2, 1
});
✅ map
map() 메서드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환
const array1 = [1, 4, 9, 16];
// pass a function to map
const map1 = array1.map(x => x * 2);
console.log(map1);
// expected output: Array [2, 8, 18, 32]
'Algorithm > Baekjoon(Node.js)' 카테고리의 다른 글
[JavaSrcipt] Baekjoon - 2577 : 숫자의 개수 (0) | 2021.09.02 |
---|---|
[JavaSrcipt] Baekjoon - 2562 : 최댓값 (0) | 2021.09.02 |
[JavaSrcipt] 선언, 재할당 (var,let,const) (0) | 2021.08.31 |
[JavaSrcipt] Baekjoon - 1110 : 더하기 사이클 (0) | 2021.08.31 |
[JavaSrcipt] Baekjoon - 10951 : A+B -4 (0) | 2021.08.30 |