Node.js 백준 알고리즘 6

김승우·2021년 5월 30일
0

1. 10818 최소, 최대

  • 풀이1
const fs = require("fs");
const input = fs.readFileSync("/dev/stdin").toString().split("\n");

const count = input[0],
  numbers = input[1].split(" ").map((num) => parseInt(num));

let i = 0,
  min = 0,
  max = 0;

for (i; i < count; i++) {
  if (i === 0) {
    min = numbers[i];
    max = numbers[i];
    continue;
  }

  if (numbers[i] > max) {
    max = numbers[i];
  } else if (numbers[i] < min) {
    min = numbers[i];
  }
}

console.log(`${min} ${max}`);
  • 풀이 2, 오름차순 정렬을 이용
const fs = require("fs");
const input = fs.readFileSync("/dev/stdin").toString().split("\n");

const numbers = input[1].split(" ").map((num) => parseInt(num));
const sortedNumbers = numbers.sort(function (a, b) {
  return a - b;
});

const min = sortedNumbers[0];
const max = sortedNumbers[sortedNumbers.length - 1];

console.log(`${min} ${max}`);

2. 2562 최댓값

const readline = require("readline");

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

let input = [];

rl.on("line", function (line) {
  input.push(line);
}).on("close", function () {
  const numbers = input.map((num) => Number(num));
  let i = 1,
    max = numbers[0],
    index = 0;

  for (i; i < numbers.length; i++) {
    if (numbers[i] > max) {
      max = numbers[i];
      index = i;
    }
  }

  console.log(max);
  console.log(index + 1);

  process.exit();
});

3. 2577 숫자의 개수

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

const num = String(input[0] * input[1] * input[2]);

for (let i = 0; i < 10; i++) {
  let count = 0;

  for (let j = 0; j < num.length; j++) {
    if (Number(num[j]) === i) {
      count++;
    }
  }

  console.log(count);
}
  • 참고
  1. javascript for... of
  2. javascript map and set
profile
사람들에게 좋은 경험을 선사하고 싶은 주니어 프론트엔드 개발자

0개의 댓글