본문 바로가기
ALGORITHM/백준 With Node.js

[백준] 10818번 / 최소, 최대 / Node.js

by LAY CODER 2021. 4. 22.
728x90

문제

 

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

 

입력

 

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

 

출력

 

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

 

예제 입력 1

 

5

20 10 35 30 7

 

예제 출력 1

 

7 35

 

CODE

const readline = require('readline');

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

const input = [];

rl.on('line', function (line) {
    input.push(line);
}).on('close', function () {
    /*

    5	             [ '5', [ '20 10 35 30 7' ] ]
    20 10 35 30 7

    */

    const N = Number(input[0]);
    const numbers = input[1].split(' ').map(Number);

    // 1번 ==============================================================

    numbers.sort((a, b) => a - b);

    console.log(numbers[0], numbers[N - 1]);

    // =================================================================

    // 2번 ==============================================================

    let min = numbers[0];
    let max = numbers[0];

    for (let i = 1; i < N; i++) {
        if (min > numbers[i]) {
            min = numbers[i];
        }

        if (max < numbers[i]) {
            max = numbers[i];
        }
    }
    console.log(min, max);

    // =================================================================

    process.exit();
});

 

 

Comment

 

두번째 줄 입력받은 숫자들을 split(' ') 을 통해 문자배열로 만들어주고

 

Array.map(Number) 함수를 통해 숫자 배열로 변환해 준 다음 풀이하면 된다.

 

1번

 

sort  함수를 이용하여 오름차순으로 숫자를 정렬하면

 

배열의 첫 요소가 최소값이 되고 마지막 요소가 최대값이 된다.

 

2번

 

최소값과 최대값을 배열의 첫 요소로 초기화 하고 for문을 이용하여 비교하는 방법이다.

 

 

String.split()

 

4. String.split()

String.prototype.split() String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나누는 Method. const str = 'The quick brown fox jumps over the lazy dog.'; const words = str.split(' '); console.l..

laycoder.tistory.com

 

Array.map()

 

3. Array.join() / Array.fill() / Array.map()

Array.prototype.join() 배열의 모든 요소를 연결해 하나의 문자열로 만드는 method. const elements = ['Fire', 'Air', 'Water']; console.log(elements.join()); // expected output: "Fire,Air,Water" console...

laycoder.tistory.com

 

Array.sort()

 

5. Array.sort()

Array.prototype.sort() 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환한다. 기본 정렬 순서는 문자열의 유니코드 코드 포인트를 따른다. 유니코드 값을 따르기에 기본으로 정렬하면 다음과

laycoder.tistory.com

 

References


gurtn.tistory.com/24

 

 

댓글