Programmers_LV0_다항식 더하기

jkky98·2023년 2월 18일
0

CodingTraining

목록 보기
16/61

우선적으로 모든 고려요소를 이중리스트로 원소별로 나눈 후에 변수에 관련된 것은 변수 리스트에 상수에 관련된 것은 상수리스트에 for문으로 하여금 재구성하고, 1x 는 x로 표현되게끔, +0의 경우 +0표현을 하지말 것의 조건문들을 붙여서 마무리

def solution(polynomial):
    list_pol = polynomial.split(' + ')
    list_pol = list(map(list, list_pol))
    
    x_box = []
    c_box = []
    
    for i in list_pol:
        if 'x' in i:
            if len(i) == 1:
                x_box.append(1)
            else:
                i = i[:-1]
                i = ''.join(i)
                x_box.append(int(i))
        else:
            i = ''.join(i)
            c_box.append(int(i))
    
    x_ans = str(sum(x_box))
    c_ans = str(sum(c_box))
    if x_ans == '0':
        return c_ans

    if c_ans != '0':
        if x_ans == '1':
            ans = 'x + '+c_ans
        else:
            ans = x_ans+'x + '+c_ans

    elif c_ans == '0':
        if x_ans == '1':
            ans = 'x'
        else:
            ans = x_ans+'x'
    return ans

profile
자바집사의 거북이 수련법

0개의 댓글