Javascript
[Javascript] 백준 10818 - 최소, 최대
eulBlue
2024. 1. 29. 20:45
10818번: 최소, 최대
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
www.acmicpc.net
나는 아주 한글로 적혀있는 설명문이 제일 어려운 것 같다.
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split('\n');
let min, max;
input[1].split(' ').map((v, i) => {
const value = Number(v)
if(i === 0) {
min = value;
max = value;
} else {
if(value < min) {
min = value;
}
if(value > max) {
max = value;
}
}
})
console.log(`${min} ${max}`)
맨 처음에 작성한 코드이다.
- map을 사용해 반복문을 통해 min max 계산 첫번째에 min max 처음값으로 세팅
- 문제는 코드도 길고 가독성이 떨어진다.
해서 가독성을 높이기 위해 reduce 와 Math 를 사용하였다.
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split('\n');
const array = input[1].split(' ').map(v => Number(v));
let min = array.reduce((a, b) => Math.min(a, b));
let max = array.reduce((a, b) => Math.max(a, b));
console.log(`${min} ${max}`)