Tiny Bunny [python] 다항식 더하기
본문 바로가기
programmers/입문

[python] 다항식 더하기

by maesil 2025. 1. 8.

문제 설명

 

한 개 이상의 항의 합으로 이루어진 식을 다항식이라고 합니다. 다항식을 계산할 때는 동류항끼리 계산해 정리합니다. 덧셈으로 이루어진 다항식 polynomial이 매개변수로 주어질 때, 동류항끼리 더한 결괏값을 문자열로 return 하도록 solution 함수를 완성해보세요. 같은 식이라면 가장 짧은 수식을 return 합니다.

 

 

입출력 예

polynomial result
"3x + 7 + x" "4x + 7"
"x + x + x" "3x"

 

 

제출 내역

def solution(polynomial):
    poly = polynomial.split(" + ")
    coef, cons = 0, 0

    for i in poly:
        if 'x' in i:
            if i == 'x':
                coef += 1
            else:
                coef += int(i[:-1])
        else:
            cons += int(i)

    if coef == 0:
        return str(cons)
    elif coef == 1:
        if cons == 0:
            return 'x'
        else:
            return 'x' + ' + ' + str(cons)
    else:
        if cons == 0:
            return str(coef) + 'x'
        else:
            return str(coef) + 'x' + ' + ' + str(cons)

 

 

다른 풀이

def solution(polynomial):
    poly = polynomial.split(" + ")
    coef, cons = 0, 0

    for i in poly:
        if 'x' in i:
            coef += int(i[:-1]) if i != 'x' else 1
        else:
            cons += int(i)

    if coef == 0:
        return str(cons)
    elif coef == 1:
        return 'x + ' + str(cons) if cons != 0 else 'x'
    else:
        return f'{coef}x + {cons}' if cons != 0 else f'{coef}x'

 

f-string: 문자열 안에 변수를 바로 삽입할 수 있는 문자열 포맷팅 방법

문자열 앞에 f나 F를 붙이고 {} 안에 변수명/표현식을 넣음

 

e.g.)

>>> x, y = 5, 3

>>> print(f"{x} + {y} = {x + y}")

5 + 3 = 8

 

 

프로그래머스 코딩테스트 입문 Day20 수학, 시뮬레이션, 문자열, 사칙연산

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

'programmers > 입문' 카테고리의 다른 글

[python] 안전지대  (0) 2025.01.15
[python] 숨어있는 숫자의 덧셈 (2)  (0) 2025.01.09
[python] 최댓값 만들기 (2)  (1) 2025.01.07
[python] 캐릭터의 좌표  (0) 2025.01.06
[python] 직사각형 넓이 구하기  (3) 2025.01.03