백준 10818번 최소,최대 javascript

zin·2023년 11월 21일
0

문제

N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.

출력

첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.

내 풀이

//Math함수 쓰기

const input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n');

let v = input[1].split(' ').map(Number)

const min = Math.min(...v)
const max = Math.max(...v)
console.log(min,max)
//for문 쓰기

const input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n');

let v = input[1].split(' ').map(Number)

let min = v[0]
let max = v[0]

for(let i=1; i<v.length; i++){
    if(v[i] < min){
        min=v[i]
    }
    if(v[i]>max){
        max=v[i]
    }
}
console.log(min,max)

for문을 썼는데, 메모리는 줄었지만 시간은 더 늘어난다.
어떤게 더 효율적인 것인가..

스프레드 연산자를 쓰면, 배열을 풀어야하니까..배열이 더 길어진다면, 반복문을 쓰는게 더 좋을듯 하다.

profile
프론트엔드 가보자고-!

0개의 댓글