프로그램 명: compress
제한시간: 1 초

스티브는 언제나 압축을 한다는 보장은 없기도 하지만서도 문자를 압축하는 방법을 고안해냈습니다. 우선은 한 단어를 압축하는 경우를 고려해봅시다. 아래의 두 규칙으로 압축된 단어를 정의합니다.

  1. 소문자 알파벳 한 개는 압축된 단어입니다.
  2. (e1 e2 ...et n) 형태를 한 문자열도 압축된 단어입니다. (t와 n 둘 다 음이 아닌 정수)
단어의 길이가 1이라면 압축 하기 전과 한 후가 같다는 건 쉽게 알아낼 수 있습니다. (e1 e2 ...et n) 형태인 문자열의 압축을 풀기 위해선 모든 ei를 연결한 후 연결된 문자열을 n번 반복합니다. 예를 들어:
● x의 압축을 풀면 x
● (t 3)의 압축을 풀면 ttt
● (a (b c 2) 3)의 압축을 풀면 abcbcabcbcabcbc
압축된 문자열을 입력받아 압축을 푸는 프로그램을 작성하시오

입력

한 개 이상의 테스트 케이스가 있습니다. 각 테스트 케이스는 유효한 압축된 문자열이 각 줄에 하나씩 입력됩니다. 입력의 마지막 줄에는 $ 문자가 있습니다. 이 입력에 대해선 아무런 출력도 하지 마세요. 각 줄에는 문자들 사이에 추가적인 공백이 입력될 수도 있습니다. 이것들은 무시해주세요. 문자들과 숫자들은 적어도 하나 이상의 공백 문자로 구분돼있습니다.

출력

각 입력(압축된 문자열)에 대해서 원 문자열을 각 줄에 출력하세요. 출력 시 공백은 출력하면 안 됩니다.

입출력 예

입력

x$
(t 3)$
( a ( b c 2 )   3)     $
$

출력

x
ttt
abcbcabcbcabcbc
출처:waterloo
번역:ladown21

[질/답] [제출 현황] [푼 후(1)]
[ 채 점 ] [홈으로]  [뒤 로]