코딩테스트/Baekjoon

[백준 #3052] 나머지 (node.js)

동띵 2022. 5. 10. 14:38

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

 

3052번: 나머지

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

www.acmicpc.net

 

이 문제는 숫자를 42로 나눈 나머지들 중에 서로 다른 나머지의 개수를 출력하는 것이다.

따라서 중복을 제거한 값들의 집합인 Set 객체를 사용하였다.

 

먼저 입력값을 \n 기준으로 나눈 후 map과 Number를 이용하여 정수로 변환해주었다.

그리고 set 객체를 하나 선언하고,

map을 사용하여 input 배열을 돌며

해당 수를 42로 나눈 나머지를 set에 추가해주었다.

 

set은 중복을 제거해주기 때문에 set.size를 출력하면

서로 다른 나머지의 개수를 구할 수 있다.

 

const input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n').map(Number);
let set = new Set();

input.map(function(num) {
    let remainder = num % 42;
    set.add(remainder);
});

console.log(set.size);