[백준] 10818. 최소, 최대(feat. Javascript / node.js) 알고리즘

준리·2022년 5월 23일
0

자료구조알고리즘

목록 보기
32/38
post-thumbnail
post-custom-banner

1차원 배열

: 최소, 최대 [10818]

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

예제 입력

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

5
20 10 35 30 7

예제 출력

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

7 35

제출


//https://www.acmicpc.net/problem/10818

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

const arr = input[1].split(" ").map((value) => +value);
arr.sort(function sort1(a, b) {
    return a - b;
});

console.log(arr[0], arr.pop());

무엇을 해결해야 하는가?

시간 992ms
하마터면 시간초과가 뜰 뻔 했다.
내맘대로 풀어보기
input[1]을 숫자로 된 리스트로 만들고
arr.sort()를 써서 오름차순으로 정렬했다.
그리고 0번째 인덱스로 최소 값을 pop()을 써서 최대 값을 뽑았다.

숏코딩

a=(''+require('fs').readFileSync('dev/stdin')).split`
`[1].split` `.map(v=>+v)
console.log(Math.min(...a),Math.max(...a))

Math.minMath.max를 쓸수도 있구나

profile
트렌디 풀스택 개발자
post-custom-banner

0개의 댓글