문자열 정규표현식 활용
// 문자열 my_str과 n이 매개변수로 주어질 때,
// my_str을 길이 n씩 잘라서 저장한 배열
my_str.match(new RegExp(.{1,${n}}, "g"));
코드 해석
주어진 정규 표현식과 일치하는 모든 결과를 배열로 반환
정규 표현식을 생성하는 생성자
앞의 패턴이 최소 1번에서 최대 n번 반복되는 부분을 의미
, 여기서 n은 외부 변수로, 해당 패턴이 몇 번 반복될 수 있는지를 정의문자열 전체에서 일치하는 모든 부분을 탐색
배열의 디스트럭처링 활용한 최대, 최소 구하기
let x = [],
y = [];
for (let pos of dots) {
x.push(pos[0]);
y.push(pos[1]);
}
return (Math.max(...x) - Math.min(...x)) * (Math.max(...y) - Math.min(...y))
?? 연산자 (nullish coalescing operator)
let foo = null ?? 'default string';
console.log(foo); // 'default string'
let bar = undefined ?? 'default string';
console.log(bar); // 'default string'
let baz = 0 ?? 42;
console.log(baz); // 0
다항식 더하기 ( 프로그래머스 )
function solution(polynomial) {
const arr = polynomial.split(" + ");
const xNum = arr
.filter(n => n.includes("x"))
.map(n => n.replace('x', '') || '1')
.reduce((acc, cur) => acc + parseInt(cur, 10), 0);
const num = arr
.filter(n => !isNaN(n))
.reduce((acc, cur) => acc + parseInt(cur, 10), 0);
let answer = [];
if(xNum) answer.push(`${xNum === 1 ? "" : xNum}x`);
if(num) answer.push(num);
return answer.join(" + ");
}