220324 백준 최소, 최대

6052 단어 백준TILTIL

백준 10818번 문제

문제

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

입력

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

출력

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

예제 입, 출력


내 풀이

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

let count = Number(input[0]);
let nums = input[1].split(" ");

let numbers = nums.map(function (cur) {
  return Number(cur);
});

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}`);
  1. let으로 max와 min을 선언한 후
  2. let의 특성을 이용하여 반복문으로 현재의 max보다 큰 수, 현재의 min보다 작은 수가 있다면 그 숫자로 재할당하도록 한다
  3. 이후 템플릿 리터럴을 이용하여 출력한다

좋은 웹페이지 즐겨찾기