파이썬 화학식량 계산 괄호 처리

조회수 2763회

파이썬에서 엑셀을 불러와서 화학식량을 계산하는 코드를 짜고 있습니다.

먼저 입력받은 화학식을 다음과 같은 방식으로 이차원 리스트 형태의 분리를 했는데요.

formula=input('INPUT THE FORMULA')
result=[]
ele=''
for i in range(len(formula)):
    if formula[i].isupper():
        if ele != '':
            result.append([ele, count])
        ele=formula[i]
        count=1
    if formula[i].islower():
        ele+=formula[i]
    if formula[i].isdigit():
        if formula[i-1].isdigit():
            count=int(str(count)+formula[i])
        else:
            count=int(formula[i])

result.append([ele,count])

그런데 문제는 다음과 같은 방식으로 코드를 짜면 Ca(OH)2와 같은 괄호가 포함된 화학식이 포함이 안된다는 것입니다.

그래서 저는 Ca(OH)2와 같은 형태의 식을 CaO2H2와 같은 형태로 바꾸는 코드를 구상해보려고 했는데요. 그걸 수행할 알고리즘이 잘 떠오르지 않네요ㅠㅠ 혹시 도와주실 분 계신가요?

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)