Javascript/자바스크립트 문제

[Javascript : programmers] 다항식 더하기 (Lv.0)

isfp_yykkng 2024. 8. 30. 10:29

[Javascript : programmers] 다항식 더하기 (Lv.0)

 

문제

 

나의 정답 풀이

function solution(polynomial) {
    let xnum = polynomial
                .split(' + ').filter(e=>e.includes('x'))
                .map(v=>v.replace('x','') || '1')
                .reduce((acc,cur)=> acc+=parseInt(cur), 0);
    let num = polynomial
                .split(' + ').filter(e=>!isNaN(e))
                .reduce((acc,cur)=> acc+=parseInt(cur), 0);
    let answer = [];
    if(xnum) answer.push(`${xnum == 1 ? "" : xnum}x`);
    if(num) answer.push(num);
    
    return answer.join(" + ");
}

 

다항식을 " + " 를 구분자로 x가 포함된 문자열들을 x 제외하고 더하고, 숫자들도 더하여 변수에 저장한다.

x의 계수가 1이라면 "" 에 x를 더하고, 1 이상의 숫자라면 x 계수에 x를 더한다. 이렇게 나온 것들을 " + " 앞뒤로 더한다.