백준 3052번 나머지 - Node.js

프동프동·2022년 5월 21일
0

알고리즘 - Node.js

목록 보기
3/116
post-thumbnail

나머지

문제

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

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

입력

첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.

출력

첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.

예제 입력1

1
2
3
4
5
6
7
8
9
10

예제 출력1

10

예제 입력2

42
84
252
420
840
126
42
84
420
126

예제 출력2

1

예제 입력3

39
40
41
42
43
44
82
83
84
85

예제 출력3

6

해결 방법

  1. 숫자로 변경해주지 않으면 이상하게 해결되지 않음
  2. map함수를 사용하여 결과값만 가져오는 새로운 배열 생성
  3. 반복문을 돌며 같은 숫자가 없을 경우 해당 값을 넣어준다. 있을 경우 넣지 않음
var fs = require('fs');
const input = require('fs').readFileSync('/dev/stdin').toString().split('\n');

let numbers = [];
for (let i = 0; i < 10; i++) {
  numbers.push(Number(input[i]));
}
let array = [];
array = numbers.map((value) => {
  return value % 42;
});

defArray = [];

array.forEach((value) => {
  if (defArray.indexOf(value) === -1) {
    defArray.push(value);
  }
});
console.log(defArray.length);
profile
좋은 개발자가 되고싶은

0개의 댓글