일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- DFS
- BFS
- css #생활코딩 #웹
- java #자바 #생활코딩
- Dijkstra
- 재귀
- 코딩테스트
- 자바 #java
- 백준 #파이썬 #알고리즘 #코딩테스트
- react #리액트 #동빈나
- dp
- java #자바 #나동빈
- css #웹 #생활코딩
- 프로그래머스 #파이썬 #알고리즘 #코딩테스트
- react #리액트 #동빈나 #나동빈 #유튜브강의
- 다이나믹프로그래밍
- 백준 #알고리즘 #파이썬 #코딩테스트
- 파이썬 #알고리즘 #코딩테스트 #프로그래머스
- java #자바 #동빈나
- 투포인터
- 파이썬
- 알고리즘
- 백트랙킹
- 백준
- java #자바
- 파이썬 #백준 #알고리즘 #코딩테스트
- PYTHON
- 다익스트라
- 프로그래머스
- 프로그래머스 #파이썬 #코딩테스트 #알고리즘
Archives
- Today
- Total
커리까지
[프로그래머스] 다항식 더하기 파이썬 본문
728x90
SMALL
문제 설명
한 개 이상의 항의 합으로 이루어진 식을 다항식이라고 합니다. 다항식을 계산할 때는 동류항끼리 계산해 정리합니다. 덧셈으로 이루어진 다항식 polynomial
이 매개변수로 주어질 때, 동류항끼리 더한 결괏값을 문자열로 return 하도록 solution 함수를 완성해보세요. 같은 식이라면 가장 짧은 수식을 return 합니다.
제한사항
- 0 <
polynomial
에 있는 수 < 100 polynomial
에 변수는 'x'만 존재합니다.polynomial
은 양의 정수, 공백, ‘x’, ‘+'로 이루어져 있습니다.- 항과 연산기호 사이에는 항상 공백이 존재합니다.
- 공백은 연속되지 않으며 시작이나 끝에는 공백이 없습니다.
- 하나의 항에서 변수가 숫자 앞에 오는 경우는 없습니다.
- " + 3xx + + x7 + "와 같은 잘못된 입력은 주어지지 않습니다.
- 0으로 시작하는 수는 없습니다.
- 문자와 숫자 사이의 곱하기는 생략합니다.
polynomial
에는 일차 항과 상수항만 존재합니다.- 계수 1은 생략합니다.
- 결괏값에 상수항은 마지막에 둡니다.
- 0 <
polynomial
의 길이 < 50
입출력 예
polynomial | result |
---|---|
"3x + 7 + x" | "4x + 7" |
"x + x + x" | "3x" |
입출력 예 설명
입출력 예 #1
- "3x + 7 + x"에서 동류항끼리 더하면 "4x + 7"입니다.
입출력 예 #2
- "x + x + x"에서 동류항끼리 더하면 "3x"입니다.
제출 답안
+
를 기준으로 split한다.i
에서x
가 있는지 확인한다.- 있으면
x
의 길이로 더할 값을 정한다. - 없으면 상수이므로
num
에 값을 더한다.
- 있으면
x
와num
이 0인지 아닌지 구분하여 값을 반환하면 된다.
def solution(polynomial):
x, num = 0,0
for i in polynomial.split("+"):
i = i.strip()
if "x" in i:
x += 1 if len(i) == 1 else int(i[:-1])
else:
num += int(i)
if x == 0:
return f"{num}"
answer = "x" if x == 1 else f"{x}x"
if num == 0:
return answer
return answer + f" + {num}"
728x90
LIST
'알고리즘 > 풀이' 카테고리의 다른 글
[프로그래머스] 문자열 밀기 파이썬 (0) | 2023.11.07 |
---|---|
[프로그래머스] 특이한 정렬 파이썬 (0) | 2023.11.06 |
[프로그래머스] 주사위 게임 3 파이썬 (1) | 2023.11.03 |
[프로그래머스] 안전지대 파이썬 (1) | 2023.11.02 |
[프로그래머스] 배열 만들기 2 파이썬 (0) | 2023.10.31 |