본문 바로가기

백준/JavaScript

[JS] 백준 1차원 배열 - 다섯 번째 이야기

728x90

 

오늘은 한 문제만 풀어야지!!

 

 

문제 3052번

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

 

3052번: 나머지

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

www.acmicpc.net

 

'나머지를 먼저 1차원 배열에 넣어주고 하나씩 비교해야할까?' 이런 저런 생각을 하다가 그렇게 하면 시간이 너무 오래걸릴 것 같아서 다른 분의 풀이로 공부했다.

 

이 분은 Set을 이용하였다. 그러고보니 예전에 Set을 이용하여 중복을 제거한 적이 있었다. 그렇게 중복을 제거한 후 남아있는 수의 개수를 구해줬다.

const fs = require('fs');
//백준에 제출할 때 써야하는 코드
const readFileSyncAdress = '/dev/stdin';
//테스트
//const readFileSyncAdress = 'input.txt';

const input = fs.readFileSync(readFileSyncAdress).toString().split('\n').map(Number);

let remain = [];

for(let i=0;i<10;i++){
    remain[i] = input[i]%42;
}
const set = new Set(remain);
const result = [...set];
console.log(result.length);

 

 

 

[참고] https://velog.io/@yeoni/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%B0%B1%EC%A4%80-3052-javascript

 

 

 

 

728x90