https://www.acmicpc.net/problem/3052
const fs = require('fs');
const file = process.platform === "linux" ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(file).toString().trim().split('\n');
let result =[];
input.map((i)=> {
//1번
let rem = i % 42;
//2번
if(result.indexOf(rem) === -1){
result.push(rem);
}
});
//3번
console.log(result.length);
indexOf()
에는 들어온 인자가 배열에 없다면 -1
을 반환한다. 그것을 이용해 result배열에 일치하는 요소가 있다면 그 요소의 index값을 반환하여 push되지 않는다.trim()
메서드를 이용해서 불필요한 공백을 없애고 하니 답을 맞출 수 있었다.let newArr = input.map((i)=> i % 24);
let count = new Set(newArr);
console.log(count.size);
new Set()
은 중복된 요소를 갖지 않는 객체이다.set객체
는 일단 객체와 다르게 사용법이 조금 다르다.set 객체
의 길이를 알기 위해서는 size라는 프로퍼티를 이용한다.indexOf
를 통해 중복된 요소를 찾는 방법set 객체
trim()