특정 소문자 문자열 패턴을 대문자 한 글자로 압축하는 프로그램 SPC(String Pattern Compressor)가 있다.
예를 들어, 다음과 같은 방법으로 압축하는 경우, “”는 “”로 압축된다.
소문자 문자열 패턴 | 대문자 |
---|---|
압축 프로그램과 압축된 문자열이 주어지면, 압축되기 전 문자열의 일부를 출력하는 프로그램을 작성하시오.
첫 번째 줄에 압축 방법의 개수
이 주어진다. ()
두 번째 줄부터 개의 줄에 소문자 문자열 패턴과 대응되는 대문자가 공백으로 구분되어 주어진다. 각 소문자 문자열 패턴의 길이는 을 넘지 않으며, 같은 대문자는 두 번 이상 주어지지 않는다.
번째 줄에 압축된 문자열이 주어진다. 압축된 문자열 길이는 을 넘지 않는다.
마지막 줄에 두 정수 와 가 주어진다. ($1 \le S \le E \le $ (압축되기 전 문자열 길이))
압축되기 전 문자열의 번째 문자에서 번째 문자까지 출력한다.
대문자에 대한 소문자 문자열 패턴을 전부 딕셔너리에 저장한 후 압축문자열에 따라 변환한 문자열을 슬라이싱하여 출력한다.
너무 늦게 일어나는 바람에 일단 급하게 풀고 제출을..ㅎㅎ
n = int(input())
dic = {}
for line in range(n):
small, large = input().split()
dic[large] = small
compact_str = input()
result = ""
for word in compact_str:
result += dic[word]
s, e = map(int, input().split())
print(result[s - 1 : e])