[코테] HackerRank Counting Sort 1

Dongmin Lee·2023년 5월 22일
0

코테

목록 보기
10/23

💿 문제

💾 문제 요약

입력받은 배열의 요소 카운팅하기.

💿 풀이

문제 제한 조건 중 n이 0부터 100미만인 정수였으니 그만큼 길이의 요소가 0인 배열을 만들어 줌
입력 받은 배열을 순회하면서 값을 조회하고 조회한 값인 인덱스를 증가시켜줌

💾 풀이 코드

'use strict';

const fs = require('fs');

process.stdin.resume();
process.stdin.setEncoding('utf-8');

let inputString = '';
let currentLine = 0;

process.stdin.on('data', function(inputStdin) {
    inputString += inputStdin;
});

process.stdin.on('end', function() {
    inputString = inputString.split('\n');

    main();
});

function readLine() {
    return inputString[currentLine++];
}

/*
 * Complete the 'countingSort' function below.
 *
 * The function is expected to return an INTEGER_ARRAY.
 * The function accepts INTEGER_ARRAY arr as parameter.
 */

function countingSort(arr) {
    const sortArr = [];
    for(let i = 0; i < 100; i++) {
        sortArr.push(0);
    }
    
    for(let i = 0; i < arr.length; i++) {
        sortArr[arr[i]]++;
    }
    return sortArr;
}

function main() {
    const ws = fs.createWriteStream(process.env.OUTPUT_PATH);

    const n = parseInt(readLine().trim(), 10);

    const arr = readLine().replace(/\s+$/g, '').split(' ').map(arrTemp => parseInt(arrTemp, 10));

    const result = countingSort(arr);

    ws.write(result.join(' ') + '\n');

    ws.end();
}

💿 리마인더

길이가 n이고 요소가 m인 배열 만드는 법 -> const arr= Array(n).fill(m)

profile
어제보다 성장하기

0개의 댓글