반응형
https://school.programmers.co.kr/learn/courses/30/lessons/120863
구현 문제였습니다
📕 풀이방법
📔 입력 및 초기화
1. 정답변수 answer선언 후 빈 문자열로 저장합니다.
2. x항의 계수 x_expr, 숫자 num_expor선언 후 0, 0으로 초기화합니다.
3. 항을 공백으로 구분해 list형태로 만들어 polynomial을 갱신합니다.
📔 풀이과정
polynomial에 대해 loop를 수행하며 다음을 진행합니다.
1. 마지막이 'x'인 경우 x항이므로 x의 앞문자열을 slice해 비어있다면 1인 것에 주의해 정수형으로 바꿔 e_expr 더해줍니다.
2. 이외에 '+'가 아닌 경우 num_expr에 정수형으로 변환해 더해줍니다.
3. x항이 존재한다면 1일때는 x만을, 아니라면 계수에 x를 answer 뒤에 붙여줍니다.
4. 숫자항이 존재한다면 x항이 있을 때는 앞에 ' + '를 붙여줍니다. 이후 숫자 부분을 문자열로 바꿔 answer 뒤에 붙여줍니다.
📔 정답 출력 | 반환
answer를 반환합니다.
📕 Code
📔 Python3
def solution(polynomial):
answer = ''
x_expr, num_expr = 0, 0
polynomial = polynomial.split(' ')
for p in polynomial:
if p[-1] == "x":
print(p)
sliced = p[:-1]
if sliced == "":
sliced = '1'
x_expr += int(sliced)
elif p != '+':
num_expr += int(p)
if x_expr != 0:
if x_expr == 1:
answer = 'x'
else:
answer = str(x_expr) + 'x'
if num_expr > 0:
if x_expr > 0:
answer += ' + '
answer += str(num_expr)
return answer
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > Implementation' 카테고리의 다른 글
(Python3) - 프로그래머스(코딩테스트 입문) : 외계어 사전 (0) | 2024.11.03 |
---|---|
(Python3) - 프로그래머스(코딩테스트 입문) : 삼각형의 완성조건 (2) (0) | 2024.11.03 |
(Python3) - 프로그래머스(코딩테스트 입문) : 평행 (0) | 2024.11.03 |
(Python3) - 프로그래머스(코딩테스트 입문) : 유한소수 판별하기 (0) | 2024.11.03 |
(Python3) - 프로그래머스(코딩테스트 입문) : 등수 매기기 (1) | 2024.11.03 |