[JS] 백준 10818. 최소, 최대

n-u·2022년 6월 27일
0

Algorithm

목록 보기
20/33
post-thumbnail

백준 10818. 최소, 최대

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

제출한 풀이

const fs = require('fs');
const file = process.platform === 'linux' ? "dev/stdin" : "./input.txt";
let input = fs.readFileSync(file).toString().split("\n");


let numberArr = input[1].toString().split(' ').map((i) => +i);
let minValue = numberArr.sort((a, b) => a - b)[0];
let maxValue = numberArr.sort((a, b) => b - a)[0];
console.log(minValue, maxValue);
  • sort()를 이용해 문제를 풀었다.
    let minValue = numberArr.sort((a, b) => a - b);
    let maxValue = numberArr.sort((a, b) => b - a);
  • sort()원 배열을 변경하기 때문에 minValue 와 maxValue의 배열 결과 같이 같게 나타났다.
  • 그래서 각 minValue일때의 index 0의 값을 minValue을 변수에 선언해 그 값을 유지할 수 있게 해주고 출력했다.

그런데 각 함수에 넣어서 출력하지 않아도 오름차순으로 배열을 정렬한 후, 0번째 인덱스마지막 인덱스를 출력하면 간편하게 해결할 수 있을 것 같다고 생각이 들었다.

수정해본 풀이

let numberArr = input[1].toString().split(' ').map((i) => +i);
numberArr.sort((a, b) => a - b);
console.log(numberArr[0], numberArr[input[0] - 1]);

코드가 아주 간결해졌다.

풀면서 알게 된 것

  • sort()를 이용한 숫자의 오름차순, 내림차순 정렬
  • sort()는 원래의 배열을 변경한다.
profile
기록하며 발전하는 삶

0개의 댓글