Lv.0 : 다항식 더하기 [JavaScript]

2024. 8. 11. 22:33Algorithm/프로그래머스

반응형

https://school.programmers.co.kr/learn/courses/30/lessons/120863#

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 


문제 풀이

function solution(polynomial) {
    var split = polynomial.split(' + ');
    var x = 0;
    var n = 0;
    for(var i of split){
        if(isNaN(i)) i.split('x')[0] == '' ? x += 1 : x += +i.split('x')[0];
        else n+= +i;
    }
    var xStr = x == 0 ? '' : x == 1 ? 'x' : x + 'x';
    var pStr = x != 0 && n !=0 ? ' + ' : '';
    var nStr = n == 0 ? '' : n;
    
    return xStr + pStr + nStr;
}

+ 로 쪼갠 split 배열을 만든 후

split을 돌면서 숫자가 아닌 경우는 x가 들어있는 경우로 x에 값을 더해가고

숫자인 경우는 n에 값을 더한다

 

xStr은 x항이 없는 경우, 계수가 1인 경우, 1이 아닌 경우로 분기

pStr은 x항과 상수항이 존재하는 경우 +를 넣도록 분기

nStr은 상수항이 있는 경우와 없는 경우로 분기

하여 셋을 더해 리턴한다

 

 

반응형