목차
반응형
문제
나의 풀이
const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : '.input.txt';
let input = fs
.readFileSync(filePath)
.toString()
.trim()
.split(' ')
.map(Number); //숫자 배열로 만들기
//검정색 체스 개수 배열 생성
const blackNum = [1, 1, 2, 2, 2, 8];
// blackNum 각 요소에서 inputData값의 요소들을 빼줌.
const result = blackNum.map((el, idx) => el - input[idx]);
// console.log(result); [ -1, 0, 0, 1, 0, 7 ]
// 출력값이 띄어쓰기로 구분 되어 있으므로 join을 이용하여 출력함
console.log(result.join(' '));
마무리
검정색 체스의 개수 배열을 생성해서 입력받은 흰색 체스의 개수 배열을 뺀 새로운 배열을 생성하고 join()메소드로 각 인덱스 값을 띄어쓰기로 구분해서 출력하는 문제였다.
const result = blackNum.map((el, idx) => el - input[idx]);
map() 메소드는 배열 내의 모든 요소 각각에 대하여 주어진 함수를 호출한 결과를 모아 새로운 배열을 반환하는 메소드이다.
for of 문이나 forEach처럼 배열 내 요소들을 반복하는 반복문의 한 종류인데, 조금 독특한 부분은 매 반복마다 return 되는 결과에 따라 새로운 배열을 만들어낸다는 것이다.
아직까지는 map메소드에 대한 활용을 잘 하지 못한다.
다른 문제를 풀기 위해 익숙해지도록 노력해봐야겠다.
반응형