도전
입력 화학 공식을 분해 할 수있는 프로그램을 작성하고 (아래 참조) 각 원자를 형식으로 출력하십시오 element: atom-count
.
입력
샘플 입력 :
H2O
입력 내용에는 항상 하나 이상의 요소가 포함되지만 10 개 이하가 포함됩니다. 프로그램은 중첩 될 수있는 괄호를 포함하는 입력을 승인해야합니다.
문자열의 요소는 항상 일치 [A-Z][a-z]*
하므로 항상 대문자로 시작합니다. 숫자는 항상 한 자리 숫자입니다.
산출
샘플 출력 (위 입력의 경우) :
H: 2
O: 1
선택적으로 출력 다음에 줄 바꿈이 올 수 있습니다.
분자 분해
괄호 세트의 오른쪽에있는 숫자는 다음과 같은 각 요소에 분배됩니다.
Mg(OH)2
출력해야합니다 :
Mg: 1
O: 2
H: 2
동일한 원리가 개별 원자에 적용됩니다.
O2
출력해야합니다 :
O: 2
또한 연결 :
Ba(NO2)2
출력해야합니다 :
Ba: 1
N: 2
O: 4
예
> Ba(PO3)2
Ba: 1
P: 2
O: 6
> C13H18O2
C: 13
H: 18
O: 2
> K4(ON(SO3)2)2
K: 4
O: 14
N: 2
S: 4
> (CH3)3COOC(CH3)3
C: 8
H: 18
O: 2
> (C2H5)2NH
C: 4
H: 11
N: 1
> Co3(Fe(CN)6)2
Co: 3
Fe: 2
C: 12
N: 12
입력은 화살표로 표시됩니다 (보다 큰 부호; >
).
스코어 보드
점수가 보드에 표시 되려면 다음 형식이어야합니다.
# Language, Score
또는 보너스를 얻은 경우 :
# Language, Score (Bytes - Bonus%)
편집 : 대괄호는 더 이상 질문의 일부가 아닙니다. 9 월 23 일 오전 3시 (UTC) 전에 게시 된 답변은 안전하며이 변경 사항의 영향을받지 않습니다.
[HCl] = 0.01 mol L^-1
.
>
.