포시코딩

[프로그래머스][Lv.0] 다항식 더하기 본문

자료구조알고리즘/문제풀이

[프로그래머스][Lv.0] 다항식 더하기

포시 2023. 1. 14. 20:04
728x90

문제

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

 

프로그래머스

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

programmers.co.kr

 

내 풀이

def solution(polynomial):
    answer = ''
    x_arr = []
    i_arr = []
    for e in polynomial.split(' '):
        if e == '+':
            continue
        elif e.find('x') > -1:
            x_arr.append(int(1 if e == 'x' else e[:-1]))
        else:
            i_arr.append(int(e))
    if sum(x_arr) == 0:
        answer += ''
    elif sum(x_arr) == 1:
        answer += 'x'
    else:
        answer += str(sum(x_arr)) + 'x'
        
    if sum(i_arr) == 0:
        return answer
    elif answer == '':
        return str(sum(i_arr))
    else:
        return answer + ' + ' + str(sum(i_arr))

매우 단순 무식하게 푼 것 같아 더 나은 방법이 없었을까 고민됐는데

풀고나서 다른 풀이들을 보니 비슷비슷한거 같아 한시름 덜었다.

 

특이사항으로는 일차항이 하나도 없을 때나 상수항이 하나도 없을 때의 경우에 따라

x를 붙일지 말지를 어느 한쪽에서 정해줘야 했다는 것 때문에 좀 헷갈렸다.

 

그것만 아니면 그냥 쭉쭉 생각나는대로 풀기만 하면 되는 문제였던듯

728x90