[JS][백준]3052_나머지
Algorithm/BaeKJoon

[JS][백준]3052_나머지

문제 번호

 

3052번: 나머지

각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다.

www.acmicpc.net

 

 

알고리즘 분류

 수학, 사칙연산

 

문제 풀이

 문제에서 주어진 숫자의 개수는 10개 이고, 숫자들은 1000이하 라고 했다.

그래서 1001크기의 배열을 생성하고, 각 숫자들을 나눈 나머지를 인덱스로 하여 개수를 카운트 하였다.

 let numbers = Array.from({ length: 1001 }, () => 0);

    for (let i = 0; i < 10; i++) {
        numbers[input[i] % 42]++;
    }

 

그리고 0이 아닌 숫자들의 개수를 카운트하여서 정답을 도출하였다.

for (let i = 0; i < 1001; i++) {
        if (numbers[i] != 0)
            answer++;
    }

 

전체코드

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

let input = [];

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

function Solution() {
    let answer = 0;

    let numbers = Array.from({ length: 1001 }, () => 0);

    for (let i = 0; i < 10; i++) {
        numbers[input[i] % 42]++;
    }

    for (let i = 0; i < 1001; i++) {
        if (numbers[i] != 0)
            answer++;
    }

    console.log(answer);
}

특이사항

 

 

'Algorithm > BaeKJoon' 카테고리의 다른 글

[JS][백준]11720_숫자의 합  (0) 2021.08.02
[JS][백준]1546_평균  (0) 2021.08.02
[JS][백준]2577_숫자의 개수  (0) 2021.08.02
[JS][백준]2562_최댓값  (0) 2021.08.02
[JS][백준]10818_최소, 최대  (0) 2021.08.02