백준 3052번-JS

yugyeongKim·2021년 9월 25일
0

백준

목록 보기
3/52
post-custom-banner

- 내가 쓴 코드

const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(filePath).toString().trim().split('\n');
let answer = '';
let inputNum = input.length; //10
let arr = [];
let num = 0;
//나머지를 배열에 넣음, 다음수로 한 나머지도 넣는데 단 앞에 숫자중에 겹치는게 있으면 안넣음
for(let i=0; i < inputNum; i++) {
    arr.push(Number(input[i])%42);
}
console.log(arr)

let uniqueArr = [];
arr.forEach(function(e) {
    if(!uniqueArr.includes(e)) {
        uniqueArr.push(e);
    }
});
console.log(uniqueArr);
console.log(uniqueArr.length);

- 새로 알게된 점

  • forEach
    배열에서만 사용 가능 배열의 요소를 슈루룩~~훑고 지나갈 수 있고 그 원소들로 주어진 콜백함수를 실행할 수 있다.
    배열의 첫번째부터 마지막까지 반복하면서 item을 꺼낼 수 있다.
let array = ['가', '나', '다'];

array.forEach(function(item,index,arr2) {
    console.log(item, index,arr2)
})

// 결과값
가 0 [ '가', '나', '다' ]
나 1 [ '가', '나', '다' ]
다 2 [ '가', '나', '다' ]

저렇게 요소요소 적어줄 수 있고,

array.forEach((elment,index) => {
    console.log(elment,index)
})

// 결과값
가 0 
나 1 
다 2 

이렇게 function안적고 할 수도 있다.

  • include
    배열에서 포함된 요소를 찾을 수 있다.
let array = ['가', '나', '다'];
console.log(array.includes(1)); //false

let array = ['가', '나', '다'];
console.log(array.includes('가')); //true

해당하는 원소가 있으면 true값을, 없으면 false값을 반환한다.

post-custom-banner

0개의 댓글