Problem Solving/boj.kr (JS)

[BOJ / 자바스크립트] 3052 : 나머지

hoiiiii 2022. 2. 7. 08:37

문제 : https://www.acmicpc.net/problem/3052

 

3052번: 나머지

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

www.acmicpc.net

 

Sol )

1. 0으로 초기화한 크기 42의 배열 cnt_arr

2. 입력 배열을 순회하면서 42로 나눈 나머지 값을 인덱스로 cnt_arr 배열에 하나씩 추가

3. cnt_arr을 순회하면서 0이 아닌 인덱스의 개수를 카운트

 

소스코드 )

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split('\n');
let cnt_arr = new Array(42).fill(0);
let result = 0 ;
for (let i = 0 ; i<input.length-1 ; i++){
    cnt_arr[Number(input[i])%42]++;
}
for (let i = 0 ;i<cnt_arr.length ; i++){
    if (cnt_arr[i]>0){
        result++;
    }
}
console.log(result);