Algorithm & 자료구조/알고리즘 w.JavaScript

[알고리즘] 백준 3032번: 나머지 W_node.js

프라이D 2022. 4. 27. 14:27

문제

 

3052번: 나머지

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

www.acmicpc.net

두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 

수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.

풀이

const readFileSyncAddress = '/dev/stdin'; 

const fs = require('fs');
let [...input] = fs.readFileSync(readFileSyncAddress).toString().trim().split(/\n/g).map(Number)

const B = 42;
let arr = [];

for(let i = 0; i < input.length; i++){
    let A = input[i];
    arr.push(A%B);
}

let newArr = [...new Set(arr)];

console.log(newArr.length);
  • set 메소드를 활용해 중복 값을 제거하고, 그 길이를 출력했다.